Freigeben über


Erstellen eines verknüpften Servers mit DB2 mithilfe des Microsoft OLE DB-Anbieters für DB2

In diesem Artikel wird ein BEISPIEL-SQL-Skript zum Erstellen eines verknüpften Servers mit DB2 beschrieben sp_addlinkedserver, und es werden einige Abfragen zur Veranschaulichung der Verteilten Abfrageverarbeitung (Distributed Query Processing, DQP) ausgegeben.

Ursprüngliche Produktversion: Hostintegrationsserver
Ursprüngliche KB-Nummer: 222937

Zusammenfassung

Dieser Artikel enthält ein SQL-Beispielskript zum Erstellen eines verknüpften Servers mit DB2 und sp_addlinkedserverstellt einige Abfragen zur Veranschaulichung des DQP-Anbieters DB2OLEDBfür DB2 bereit.

INF: Konfigurieren von Datenquellen für die Microsoft OLE DB-Anbieter für DB2

Erstellen eines verknüpften Servers

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'

Notiz

  • DB2OLEDB Der Anbieter muss in proc ausgeführt werden. So aktivieren Sie diese Einstellung:

    1. Starten Sie den SQL Server Enterprise Manager.

    2. 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 ", dann auf "Optionen", und 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 der mit T-SQL-Skript erstellten.

  • Die Gesamtlänge des verknüpften Servers initstring darf maximal 278 Zeichen lang sein, daher ist es vorteilhaft, die DB2OLEDB kurzen Verbindungszeichenfolge Argumente wie oben dokumentiert zu verwenden.

  • Verknüpfte Server, die DB2OLEDB eine Verbindung über TCP/IP herstellen, können auch konfiguriert werden, obwohl das obige Skript dies mithilfe einer SNA APPC-Verbindung veranschaulicht.

Beispiel für verteilte Abfragen

  • Beispiel für die Verwendung des SELECT 4-Part-Namens: LinkedServer.Catalog.Schema.Table

    SELECT * FROM WNW3XX.OLYMPIA.WNW3XX.DEPARTMENT
    
  • Beispiel für die PassThrough-Verwendung SELECT OPENQUERY mit 3-Part-Namen:

    SELECT * FROM OPENQUERY(WNW3XX,"SELECT * FROM OLYMPIA.WNW3XX.EMP_ACT")
    
  • Beispiel für die PassThrough-Verwendung SELECT OPENROWSET mit zweiteiligen 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 4teiligen Namen:

    INSERT INTO WNW3XX.OLYMPIA.WNW3XX.DEPARTMENT VALUES
    ('E21','DUMMY',NULL,'E01')
    

    Notiz

    UPDATE und DELETE die Verwendung von DQP ist mit dem Anbieter, der DB2OLEDB 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