Creación de un servidor vinculado a DB2 con el proveedor microsoft OLE DB para DB2
En este artículo se describe un script de SQL ejemplo para crear un servidor vinculado a DB2 mediante y emite algunas consultas para ilustrar el procesamiento de consultas sp_addlinkedserver distribuidas (DQP).
Versión del producto original: Host Integration Server
Número KB original: 222937
Resumen
En este artículo se proporciona un script SQL de ejemplo para crear un servidor vinculado a DB2 mediante y emite algunas consultas para ilustrar el DQP mediante , el proveedor OLE DB para sp_addlinkedserver DB2OLEDB DB2.
INF: configuración de orígenes de datos para el Proveedor OLE DB de Microsoft para DB2
Creación de un servidor vinculado
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'
Nota
DB2OLEDBdebe ejecutarse in-proc. Para habilitar esta configuración:Inicie el SQL Server Enterprise administrador.
En el árbol de consola, busque el nodo Servidores vinculados (en la carpeta Seguridad). Haga clic con el botón secundario en el servidor vinculado creado anteriormente y, en el cuadro de diálogo Propiedades, haga clic en la pestaña General y, a continuación, haga clic en Opciones y, a continuación, haga clic para habilitar la configuración Permitir InProcess. Esta es la única forma de habilitar esta configuración y, una vez habilitada para un proveedor determinado, la configuración se usa para todos los servidores vinculados posteriores creados con ese proveedor, incluidos los creados con script T-SQL.
La longitud total del initstring del servidor vinculado no debe tener más de 278 caracteres, por lo que es ventajoso usar los argumentos de cadena de conexión cortas como se documentó
DB2OLEDBanteriormente.Los servidores vinculados que usan también se pueden configurar para conectarse a través de TCP/IP, aunque el script anterior lo ilustra con una conexión APPC de
DB2OLEDBSNA.
Consultas distribuidas de ejemplo
Ejemplo de
SELECTuso del nombre de 4 partes:LinkedServer.Catalog.Schema.TableSELECT * FROM WNW3XX.OLYMPIA.WNW3XX.DEPARTMENTEjemplo de paso a
SELECTtravés con el nombre deOPENQUERY3 partes:SELECT * FROM OPENQUERY(WNW3XX,"SELECT * FROM OLYMPIA.WNW3XX.EMP_ACT")Ejemplo de pasar a
SELECTtravés usando con el nombre deOPENROWSET2 partes: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')Ejemplo de un
INSERTnombre de 4 partes que usa:INSERT INTO WNW3XX.OLYMPIA.WNW3XX.DEPARTMENT VALUES ('E21','DUMMY',NULL,'E01')Nota
UPDATEy el uso de DQP no son posibles con el proveedor que se envió con SNA versión 4.0 Service Pack 2 y Service Pack 3 debido a la falta de compatibilidad con marcadores, pero funcionan con el proveedor deDELETESNA 4.0 Service Pack 4 y el proveedor que se envióDB2OLEDBcon Host Integration Server.Ejemplo de JOIN entre una tabla SQLServer y DB2:
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