Erstellen eines verknüpften Servers mit DB2 mithilfe des Microsoft OLE DB-Anbieters für DB2
Dieser Artikel beschreibt ein Beispiel SQL Skripts zum Erstellen eines verknüpften Servers mit DB2 und sp_addlinkedserver gibt einige Abfragen aus, 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 Beispiel SQL Skripts zum Erstellen eines verknüpften Servers mit DB2 und sp_addlinkedserver gibt einige Abfragen aus, um den DQP zu veranschaulichen, der den DB2OLEDB OLE DB-Anbieter für DB2 verwendet.
INF: Konfigurieren von Datenquellen für die Microsoft OLE DB-Anbieter für DB2
Erstellen von verknüpften Servern
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
DB2OLEDBprovider needs to run in-proc. So aktivieren Sie diese Einstellung:Starten Sie den SQL Server Enterprise-Manager.
Suchen Sie in der Konsolenstruktur den Knoten "Verknüpfte Server" (unter dem Ordner "Sicherheit"). Klicken Sie mit der rechten Maustaste auf den oben erstellten verknüpften Server, und klicken Sie im Dialogfeld "Eigenschaften" auf die Registerkarte "Allgemein", klicken Sie dann auf "Optionen", und klicken Sie dann, 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 verknüpften Server verwendet, der mit diesem Anbieter erstellt wurde, einschließlich derjenigen, die mit T-SQL-Skript erstellt wurden.
Die Gesamtlänge der verknüpften Serverinitstring darf maximal 278 Zeichen umfassen, daher ist es vorteilhaft, die argumente für die
DB2OLEDBkurze Verbindungszeichenfolge wie oben beschrieben zu verwenden.Verknüpfte Server können auch so konfiguriert werden, dass eine
DB2OLEDBVerbindung über TCP/IP hergestellt wird, obwohl dies im obigen Skript mithilfe einer SNA APPC-Verbindung veranschaulicht wird.
Beispiele für verteilte Abfragen
Beispiel für
SELECTdie Verwendung eines vierteiligen Namens:LinkedServer.Catalog.Schema.TableSELECT * FROM WNW3XX.OLYMPIA.WNW3XX.DEPARTMENTBeispiel für die
SELECTOPENQUERYPass-Through-Verwendung mit dreiteiligem Namen:SELECT * FROM OPENQUERY(WNW3XX,"SELECT * FROM OLYMPIA.WNW3XX.EMP_ACT")Beispiel für die
SELECTOPENROWSETPass-Through-Verwendung mit zweiteiligem 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
INSERTvierteiligen Namen:INSERT INTO WNW3XX.OLYMPIA.WNW3XX.DEPARTMENT VALUES ('E21','DUMMY',NULL,'E01')Hinweis
UPDATEundDELETEdie Verwendung von DQP ist für den Anbieter, der mitDB2OLEDBSNA 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 between a SQLServer and DB2 table:
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