Fournisseur OLE DB pour DB2
Le fournisseur Microsoft OLE DB pour DB2, distribué avec Microsoft Host Integration Server 2004, permet aux requêtes distribuées SQL Server 2005 d'interroger des données de bases de données DB2.
Remarque : |
---|
Le fournisseur OLE DB pour DB2 est inclus dans SQL Server 2005. Pour des informations sur l'installation et la configuration du fournisseur OLE DB, consultez la documentation qui accompagne le fournisseur. |
Pour créer un serveur lié d'accès à une base de données DB2
Installez le logiciel client Host Integration Server 2004 sur un ordinateur qui exécute une instance de SQL Server et sélectionnez le fournisseur OLE DB pour DB2.
Déterminez la chaîne de connexion requise par le fournisseur OLE DB pour DB2 pour accéder à la source de données DB2 à interroger. La meilleure méthode pour déterminer une chaîne de connexion consiste à construire un fichier de liaison de données en utilisant la nouvelle application de source de données OLE DB de Host Integration Server. Pour plus d'informations, consultez la documentation de Microsoft Host Integration Server 2004.
Exécutez sp_addlinkedserver pour créer un serveur lié, en spécifiant DB2OLEDB comme provider_name, le nom du catalogue DB2 contenant les données auxquelles vous souhaitez accéder comme catalog et la chaîne de connexion de l'étape 2 comme provider_string.
L'exemple suivant montre comment utiliser
sp_addlinkedserver
pour créer une définition de serveur lié qui accède à une base de données DB2 :EXEC sp_addlinkedserver @server = 'DB2SRV', @srvproduct = 'Microsoft OLE DB Provider for DB2', @catalog = 'SEATTLE', @provider = 'DB2OLEDB', @provstr = 'NetLib=SNA;NetAddr=;NetPort=;RemoteLU=SEATTLE;LocalLU=LOCAL; ModeName=QPCSUPP;InitCat=SEATTLE; Default Schema=WNW3XX;PkgCol=WNW3XX;TPName=;Commit=YES; IsoLvl=NC;AccMode=;CCSID=37;PCCodePage=1252;BinAsChar=NO; Data Source=Seattle_WNW3XX'
Exécutez sp_addlinkedsrvlogin pour créer des mappages de connexion entre les connexions SQL Server 2005 et DB2.
L'exemple suivant mappe la connexion SQL Server
SQLJoe
à la connexion DB2DB2Joe
:EXEC sp_addlinkedsrvlogin 'DB2SRV', false, 'SQLJoe', 'DB2Joe', 'x894jd03?'
Remarque : Les mots de passe sont transmis sans être chiffrés. Les mots de passe peuvent être visibles dans les définitions des sources de données et dans les scripts enregistrés sur disque, dans les sauvegardes et dans les fichiers journaux. N'utilisez jamais le mot de passe d'un administrateur pour ce type de connexion. Consultez votre administrateur réseau pour des conseils de sécurité propres à votre environnement.
Après l'exécution de ces opérations, vous pouvez utiliser le nom de serveur lié DB2SRV
comme nom de serveur dans les noms à quatre parties et comme linked_server dans la fonction OPENQUERY
. Exemple :
SELECT *
FROM DB2SRV.SEATTLE.WNW3XX.DEPARTMENT
Or
SELECT *
FROM OPENQUERY(DB2SRV, 'SELECT * FROM SEATTLE.WNW3XX.EMP_ACT')
Lorsque les requêtes distribuées sur des sources de données DB2 impliquent des comparaisons NULL, utilisez ISNULL ou IS NOT NULL plutôt que des opérateurs de comparaison, tels que égal (=), supérieur à (>) ou inférieur à (<). De plus, les instructions INSERT doivent fournir des valeurs pour toutes les colonnes d’une table, même si certaines d’entre elles peuvent être NULL ou ne pas posséder de valeur par défaut.
Voir aussi
Concepts
Fournisseurs OLE DB testés avec SQL Server
Requêtes distribuées
Autres ressources
sp_addlinkedserver (Transact-SQL)
sp_addlinkedsrvlogin (Transact-SQL)