Erstellen eines Verbindungsservers mit DB2 mithilfe des Microsoft OLE DB-Anbieters für DB2
In diesem Artikel wird ein SQL-Beispielskript zum Erstellen eines Verbindungsservers mit DB2 mit sp_addlinkedserver
beschrieben, und es werden einige Abfragen ausgegeben, um die verteilte Abfrageverarbeitung (Distributed Query Processing, DQP) zu veranschaulichen.
Ursprüngliche Produktversion: Host Integration Server
Ursprüngliche KB-Nummer: 222937
Zusammenfassung
Dieser Artikel enthält ein SQL-Beispielskript zum Erstellen eines Verbindungsservers mit DB2 mithilfe von sp_addlinkedserver
und stellt einige Abfragen aus, um den DQP mit DB2OLEDB
zu veranschaulichen, dem OLE DB-Anbieter für DB2.
INF: Konfigurieren von Datenquellen für die Microsoft OLE DB-Anbieter für DB2
Erstellen eines Verbindungsservers
EXEC sp_addlinkedserver
@server = 'WNW3XX',
@srvproduct = 'Microsoft OLE DB Provider for DB2',
@catalog = 'OLYMPIA',
@provider = 'DB2OLEDB',
@provstr='NetLib=SNA;NetAddr=;NetPort=;RemoteLU=OLYMPIA;LocalLU=LOCAL;ModeName=QPCSUPP;User ID=WNW3XX;Password=WNW3XX;InitCat=OLYMPIA;Default Schema=WNW3XX;PkgCol=WNW3XX;TPName=;Commit=YES;IsoLvl=NC;AccMode=;CCSID=37;PCCodePage=1252;BinAsChar=NO;Data Source=Olympia_WNW3XX'
EXEC sp_addlinkedsrvlogin 'WNW3XX', false, NULL, 'WNW3XX', 'WNW3XX'
Hinweis
DB2OLEDB
provider muss in-proc ausgeführt werden. So aktivieren Sie diese Einstellung:Starten Sie den SQL Server Enterprise-Manager.
Suchen Sie in der Konsolenstruktur den Knoten Verbindungsserver (unter dem Ordner Sicherheit). Klicken Sie mit der rechten Maustaste auf den oben erstellten Verbindungsserver, klicken Sie im Dialogfeld Eigenschaften auf die Registerkarte Allgemein , klicken Sie dann auf Optionen, und klicken Sie auf , um die Einstellung InProcess zulassen zu aktivieren. Dies ist die einzige Möglichkeit, diese Einstellung zu aktivieren, und nachdem sie für einen bestimmten Anbieter aktiviert wurde, wird die Einstellung für jeden nachfolgenden Verbindungsserver verwendet, der mit diesem Anbieter erstellt wurde, einschließlich der mit dem T-SQL-Skript erstellten.
Die Gesamtlänge der Verbindungsserver-Initstring darf nicht mehr als 278 Zeichen betragen. Daher ist es vorteilhaft, die
DB2OLEDB
kurz Verbindungszeichenfolge Argumente zu verwenden, wie oben beschrieben.Verbindungsserver mit
DB2OLEDB
können auch so konfiguriert werden, dass sie eine Verbindung über TCP/IP herstellen, obwohl das obige Skript dies mithilfe einer SNA APPC-Verbindung veranschaulicht.
Verteilte Beispielabfragen
Beispiel für die Verwendung eines
SELECT
vierteiligen Namens:LinkedServer.Catalog.Schema.Table
SELECT * FROM WNW3XX.OLYMPIA.WNW3XX.DEPARTMENT
Beispiel für passthrough
SELECT
mitOPENQUERY
mit 3-teiligem Namen:SELECT * FROM OPENQUERY(WNW3XX,"SELECT * FROM OLYMPIA.WNW3XX.EMP_ACT")
Beispiel für pass through
SELECT
usingOPENROWSET
mit 2-teiligem Namen:SELECT * FROM OPENROWSET ('DB2OLEDB',Netlib=SNA;NetAddr=;NetPort=;RemoteLU=OLYMPIA;LocalLU=LOCAL;ModeName=QPCSUPP;User ID=WNW3XX;Password=WNW3XX;InitCat=OLYMPIA;Default Schema=WNW3XX;PkgCol=WNW3XX;TPName=;Commit=YES;IsoLvl=NC;AccMode=;CCSID=37;PCCodePage=1252;BinAsChar=NO;Data Source=Sample', 'SELECT * FROM WNW3XX.EMPLOYEE')
Beispiel für einen
INSERT
4-teiligen Namen:INSERT INTO WNW3XX.OLYMPIA.WNW3XX.DEPARTMENT VALUES ('E21','DUMMY',NULL,'E01')
Hinweis
UPDATE
undDELETE
die Verwendung von DQP sind mit dem Anbieter, derDB2OLEDB
mit SNA Version 4.0 Service Pack 2 und Service Pack 3 ausgeliefert wurde, aufgrund fehlender Lesezeichenunterstützung nicht möglich, aber diese funktionieren mit dem SNA 4.0 Service Pack 4-Anbieter und dem Anbieter, der mit Host Integration Server ausgeliefert wurde.Beispiel für JOIN zwischen einer SQLServer- und DB2-Tabelle:
SELECT A.EMPLOYEE_NUMBER,B.ACTNO FROM CORPDATA..EMPLOYEE_ACCOUNT A, WNW3XX.OLYMPIA.WNW3XX.EMP_ACT B WHERE A.EMPLOYEE_NUMBER = B.EMPNO ORDER BY A.EMPLOYEE_NUMBER
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für