U een gekoppelde server maakt voor DB2 met behulp van Microsoft OLE DB-provider voor DB2


Samenvatting


In dit artikel vindt u een voorbeeld van SQL-script voor het maken van een gekoppelde server voor DB2 niet vinden en problemen met enkele query's ter illustratie van de gedistribueerde Query verwerking (DQP) met DB2OLEDB, de Microsoft OLE DB-provider voor DB2. Raadpleeg het volgende artikel in de Microsoft Knowledge Base voor meer informatie over de trefwoorden in de DB2OLEDB-initstring.
218590 gegevensbronnen configureren voor de Microsoft OLE DB-provider voor DB2

Maken, gekoppelde Server

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'
Houd er rekening mee dat:
  • DB2OLEDB-provider moet uitvoeren in proc. Deze instelling wilt inschakelen:
    1. Start de Microsoft SQL Server Enterprise Manager.
    2. Zoek in de consolestructuur het knooppunt gekoppelde Servers (onder de map Security). Klik met de rechtermuisknop op de gekoppelde server gemaakt boven en in het dialoogvenster Eigenschappen , klikt u op het tabblad Algemeen en vervolgens klikt u op Optiesen schakel de instelling InProcess toestaan . Dit is de enige manier om deze instelling is ingeschakeld en nadat deze is ingeschakeld voor een bepaalde provider, wordt de instelling gebruikt voor elke daaropvolgende gekoppelde server gemaakt met behulp van die provider, waaronder die met T-SQL-script gemaakt.
  • De totale lengte van de initstring van de gekoppelde server moet niet meer dan 278 tekens, wordt u aangeraden te gebruiken DB2OLEDB korte connection string argumenten zoals hierboven beschreven.
  • Gekoppelde Servers met DB2OLEDB kunnen ook worden geconfigureerd voor verbinding via TCP/IP, al het bovenstaande script illustreert dit met een SNA APPC verbinding.

Voorbeeld gedistribueerde query 's

Voorbeeld van SELECT met 4-naam: LinkedServer.Catalog.Schema.Table
SELECTEER * UIT WNW3XX. OLYMPIA. WNW3XX. AFDELING

Voorbeeld van doorgeven via selecteren met OPENQUERY met 3 deel naam:
SELECTEER * UIT QUERYOPENEN (OPENQUERY) (WNW3XX, "SELECTEER * UIT OLYMPIA. WNW3XX. EMP_ACT")

Voorbeeld van doorgeven via selecteren gebruiken OPENROWSET met 2-naam:
SELECTEER * UIT OPENROWSET
('DB2OLEDB', Netlib = SNA; NetAddr =; Netpoort kan =; RemoteLU = OLYMPIA; LocalLU = LOCAL; ModeName = QPCSUPP; Gebruikers-ID = WNW3XX; Wachtwoord = WNW3XX; InitCat = OLYMPIA; standaard Schema = WNW3XX; PkgCol = WNW3XX; TPName =; Commit = YES; IsoLvl = NC; AccMode =; CCSID = 37; PCCodePage = 1252; BinAsChar = NO; Data Source = voorbeeld ",
"SELECTEER * UIT WNW3XX. WERKNEMER ')

Voorbeeld van een met 4-naam invoegen:
PLAATS IN WNW3XX. OLYMPIA. WNW3XX. AFDELING WAARDEN
('E21","LOZE", NULL, E01)

Opmerking bijwerken en verwijderen met behulp van DQP zijn niet mogelijk met de DB2OLEDB-provider die wordt meegeleverd met SNA versie 4.0 Service Pack 2 en Service Pack 3 als gevolg van onvoldoende ondersteuning bladwijzer, maar deze werken samen met de provider SNA 4.0 Service Pack 4 en de provider die wit verzonden h Host integratieserver. Raadpleeg het volgende artikel in de Microsoft Knowledge Base voor meer informatie over dit:

287093 DB2OLEDB ondersteunt bijwerken of verwijderen van een gekoppelde SQL-Server
Voorbeeld van een JOIN tussen een SQL Server- als een DB2-tabel:
SELECTEER A.EMPLOYEE_NUMBER,B.ACTNO IN CORPDATA... EMPLOYEE_ACCOUNT, WNW3XX. OLYMPIA. WNW3XX. B EMP_ACT WAARBIJ A.EMPLOYEE_NUMBER = B.EMPNO ORDER BY A.EMPLOYEE_NUMBER