OLE DB-Anbieter für DB2
Der mit Microsoft Host Integration Server 2004 verteilte Microsoft OLE DB-Anbieter für DB2 ermöglicht verteilten SQL Server 2005-Abfragen den Zugriff auf Daten in DB2-Datenbanken.
Hinweis: |
---|
Der OLE DB-Anbieter für DB2 ist in SQL Server 2005 enthalten. Informationen zum Installieren und Konfigurieren des OLE DB-Anbieters finden Sie in der Dokumentation des Anbieters. |
So erstellen Sie einen Verbindungsserver für den Zugriff auf eine DB2-Datenbank
Installieren Sie die Host Integration Server 2004 Client-Software auf einem Computer, der eine Instanz von SQL Server ausführt, und wählen Sie die Optionen zum Installieren des OLE DB-Anbieters für DB2 aus.
Bestimmen Sie die Verbindungszeichenfolge, die der OLE DB-Anbieter für DB2 benötigt, um auf die DB2-Datenquelle, die Sie abfragen möchten, zuzugreifen. Die beste Möglichkeit, eine Verbindungszeichenfolge zu bestimmen, besteht darin, eine Datenverknüpfungsdatei mithilfe der Anwendung New OLE DB Data Source von Host Integration Server zu erstellen. Weitere Informationen finden Sie in der Dokumentation zu Microsoft Host Integration Server 2004.
Führen Sie sp_addlinkedserver aus, um einen Verbindungsserver zu erstellen. Geben Sie dabei DB2OLEDB als provider_name, den Namen des DB2-Katalogs, der die Daten enthält, auf die Sie zugreifen möchten, als catalog sowie die Verbindungszeichenfolge aus Schritt 2 als provider_string an.
Das folgende Beispiel veranschaulicht, wie
sp_addlinkedserver
zum Erstellen einer Verbindungsserverdefinition für den Zugriff auf eine DB2-Datenbank verwendet wird: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'
Führen Sie sp_addlinkedsrvlogin aus, um Anmeldungszuordnungen von SQL Server 2005-Anmeldungen zu DB2-Anmeldungen zu erstellen.
Das folgende Beispiel ordnet die SQL Server-Anmeldung
SQLJoe
der DB2-AnmeldungDB2Joe
zu:EXEC sp_addlinkedsrvlogin 'DB2SRV', false, 'SQLJoe', 'DB2Joe', 'x894jd03?'
Hinweis: Kennwörter werden unverschlüsselt übertragen. Kennwörter sind in Datenquellendefinitionen und Skripts, die auf Datenträgern gespeichert werden, in Sicherungen und in Protokolldateien sichtbar. Verwenden Sie für diese Art von Verbindung auf keinen Fall ein Administratorkennwort. Wenden Sie sich wegen Sicherheitshinweisen speziell für Ihre Umgebung an Ihren Netzwerkadministrator.
Nach diesen Schritten können Sie den Verbindungsserver namens DB2SRV
als Servername in vierteiligen Namen und als linked_server in der OPENQUERY
-Funktion verwenden. Beispiel:
SELECT *
FROM DB2SRV.SEATTLE.WNW3XX.DEPARTMENT
Oder:
SELECT *
FROM OPENQUERY(DB2SRV, 'SELECT * FROM SEATTLE.WNW3XX.EMP_ACT')
Wenn die verteilten Abfragen in DB2-Datenquellen NULL-Vergleiche umfassen, sollten Sie IS NULL oder IS NOT NULL anstelle von Vergleichsoperatoren, wie z. B. ist gleich (=), größer als (>) oder kleiner als (<), verwenden. INSERT-Anweisungen sollten zusätzlich Werte für alle Spalten in einer Tabelle bereitstellen, selbst wenn bestimmte Spalten in der Tabelle NULL sein oder Standardwerte aufweisen können.
Siehe auch
Konzepte
Mit SQL Server getestete OLE DB-Anbieter
Verteilte Abfragen
Andere Ressourcen
sp_addlinkedserver (Transact-SQL)
sp_addlinkedsrvlogin (Transact-SQL)