> Tech > Transférer des données de l’AS/400 à  SQL Server

Transférer des données de l’AS/400 à  SQL Server

Tech - Par iTPro - Publié le 24 juin 2010
email

Une fois le driver ODBC installé et la source de données créée, le transfert des données de l'AS/400 à  SQL Server est simple et direct. Il suffit d'utiliser le DTS Import/Export Wizard pour construire un package DTS puis exécuter le package. Vous pouvez démarrer l'Import/Export Wizard à  partir du menu

Windows Start en choisissant
Programs, SQL Server, Import and
Export Data.
Sur l’écran Welcome, cliquez sur
Next pour afficher l’écran Choose a
Data Source, illustré figure 3. Là , vous
pouvez sélectionner la source des
données que DTS copiera. La boîte déroulante
Data Source vous permet de
sélectionner le provider OLE DB ou le
driver ODBC que DTS utilisera pour se
connecter à  la source de données.
Comme on le voit figure 3, j’ai utilisé l’option Other (ODBC Data Source)
conjointement au nom de la source de
données ODBC (S1030438) que j’avais
configurée pour utiliser l’IBM Client
Access ODBC Driver pour se connecter
à  la base de données AS/400. La
boîte déroulante User/System DSN
vous permet de sélectionner une
source de données existante qui
contient l’information de connexion
AS/400 requise. J’ai sélectionné la
source de données S1030438 que
j’avais créée auparavant. Enfin, dans les
champs Username et Password, vous
pouvez fournir l’ID et le mot de passe
que DTS utilisera pour se connecter à 
l’AS/400. Si vous préférez utiliser votre
login Windows, vous pouvez omettre
ces paramètres.
Un clic sur Next affiche la boîte de
dialogue Destination que montre la figure
4.
On peut y choisir une destination
pour les données. La boîte déroulante
Destination vous permet de
sélectionner le provider OLE DB ou le
driver ODBC que DTS utilisera pour se
connecter à  la source de données
cible. J’ai sélectionné le Microsoft OLE
DB Provider for SQL Server. Près du
bas de l’écran, on voit que la destination
est une base de données nommée
SQLMag que j’avais créée précédemment
sur le SQL Server.
Configurez les écrans suivants
comme si vous utilisiez un transfert
SQL Server/SQL Server DTS. Un clic
sur Next affiche la boîte de dialogue
DTS dans laquelle vous pouvez choisir
le type de transfert à  utiliser. Vous pouvez
soit utiliser une requête SQL Server
pour extraire les données de la source
de données, soit indiquer votre souhait
de copier une table entière. Un clic
sur Next affiche la boîte de dialogue
Select Source Tables and Views, illustrée
figure 5.
Cette boîte affiche une liste des
tables disponibles dans la base de données
source. La bibliothèque que vous
avez spécifiée dans le champ Default library
sur l’onglet Server du driver IBM
ODBC détermine les tables affichées
ici. Dans cet exemple, tous les fichiers
pour la bibliothèque AS/400 nommée
QGPL apparaissent dans la liste.
Comme le montre la figure 5, j’ai sélectionné
la table nommée PK2000PE.
Une chose importante à  noter est la
syntaxe de nom d’objet AS/400 que le
driver ODBC renvoie à  DTS. Tous les
noms de fichiers AS/400 utilisent une
syntaxe de nom en trois parties qui indiquent,
respectivement : la source de
données, la bibliothèque AS/400, et le
nom de fichier AS/400. Contrairement
aux transferts SQL Server, dans lesquels
les noms sont mis entre crochets,
les trois noms AS/400 sont entre
guillemets. Ce système de nommage
ne cause pas de problèmes quand on
transfère de l’AS/400 à  SQL Server,
parce que SQL Server enlève les guillemets.
En revanche, nous verrons plus
loin que ce n’est pas le cas quand on
essaie de renvoyer des données à 
l’AS/400.
A ce stade, on a fait tout ce qui est
nécessaire pour créer le package DTS
et transférer un fichier d’une base de
données AS/400 DB2 UDB for iSeries
dans une base de données SQL Server.
Un clic sur Next dans l’écran Select
Source Tables and Views affiche
d’autres boîtes de dialogue permettant
de sauvegarder le package DTS, puis
soit d’exécuter le package DTS immédiatement,
soit de programmer son
exécution au moment voulu. Le choix
d’exécuter le package immédiatement
démarre le transfert de la base de données
et affiche la boîte de dialogue
Executing DTS Package.
C’est tout ce qu’il faut faire pour
transférer des données de l’AS/400 à 
SQL Server. Le Client Access ODBC
Driver se charge de tous les détails de
conversion des données et traite les valeurs
de données courantes sans aucun
problème. Ainsi, il traite automatiquement
le mapping du type de données
et la conversion d’EBCDIC (type de
données natif de l’AS/400) en ASCII.
Des problèmes peuvent surgir lorsque
les deux systèmes ne supportent pas
les mêmes types de données. Le tableau 1 montre les conversions de type
de données automatiques que le driver
IBM ODBC supporte pour des
transferts de données DB2 UDB for
iSeries/SQL Server. Lorsque la conversion
de données automatique est
impossible à  cause d’incompatibilités
de types de données, il y a deux solutions
: omettre les colonnes présentant
les incompatibilités ou manipuler les
données pendant leur transfert à  l’aide
d’un script ActiveX conjointement aux
fonctions de transformation de données
de DTS. (Pour plus d’informations
sur la création de transformations
dans DTS, voir l’article de Don Awalt et
Brian Lawton, « Creating DTS Custom
Transformations », octobre 1999, www.
itpro.fr.)
Autre source de difficultés possibles
: les fichiers à  membres multiples
de l’AS/400. Contrairement à  SQL
Server, l’AS/400 applique un concept
de base de données appelé membres,
quelque chose du genre sous-tables.
Une table peut contenir des membres
multiples dont chacun partage le
même schéma mais a un nom unique
et un contenu de données unique.
L’encadré « Traiter des fichiers à  membres
multiples » montre comment travailler
avec ce genre de fichiers AS/400.

Téléchargez gratuitement cette ressource

HP Elite Slice G2 : optimisez la collaboration… et votre budget !

HP Elite Slice G2 : optimisez la collaboration… et votre budget !

Téléchargez cette étude Forrester et découvrez comment booster la collaboration tout en dégageant un excellent R.O.I grâce au système de vidéoconférence HP Elite Slice G2 avec Microsoft Teams !

Tech - Par iTPro - Publié le 24 juin 2010