Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este artículo se describe un script SQL de ejemplo para crear un servidor vinculado a DB2 mediante sp_addlinkedserver
y se emiten algunas consultas para ilustrar el procesamiento de consultas distribuidas (DQP).
Versión original del producto: Host Integration Server
Número de KB original: 222937
Resumen
En este artículo se proporciona un script SQL de ejemplo para crear un servidor vinculado a DB2 mediante sp_addlinkedserver
y se emiten algunas consultas para ilustrar el DQP mediante DB2OLEDB
, el proveedor OLE DB para 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:
DB2OLEDB
el proveedor debe ejecutarse en proceso. Para habilitar esta configuración:Inicie el administrador de SQL Server Enterprise.
En el árbol Consola, busque el nodo Servidores vinculados (en la carpeta Seguridad). Haga clic con el botón derecho en el servidor vinculado creado anteriormente y, en el cuadro de diálogo Propiedades , haga clic en la pestaña General , haga clic en Opciones y haga clic en para habilitar la opción Permitir inProcess . Esta es la única manera de habilitar esta configuración y, una vez habilitada para un proveedor determinado, la configuración se usa para cada servidor vinculado posterior creado con ese proveedor, incluidos los creados con el script T-SQL.
La longitud total de la initstring del servidor vinculado no debe tener más de 278 caracteres, por lo que resulta ventajoso usar los
DB2OLEDB
argumentos de cadena de conexión breves como se documentó anteriormente.Los servidores vinculados que usan
DB2OLEDB
también se pueden configurar para conectarse a través de TCP/IP, aunque el script anterior muestra esto mediante una conexión SNA APPC.
Consultas distribuidas de ejemplo
Ejemplo de uso del
SELECT
nombre de 4 partes:LinkedServer.Catalog.Schema.Table
SELECT * FROM WNW3XX.OLYMPIA.WNW3XX.DEPARTMENT
Ejemplo de paso a través
SELECT
medianteOPENQUERY
con el nombre de 3 partes:SELECT * FROM OPENQUERY(WNW3XX,"SELECT * FROM OLYMPIA.WNW3XX.EMP_ACT")
Ejemplo de paso a través
SELECT
medianteOPENROWSET
con el nombre de 2 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
INSERT
uso de un nombre de 4 partes:INSERT INTO WNW3XX.OLYMPIA.WNW3XX.DEPARTMENT VALUES ('E21','DUMMY',NULL,'E01')
Nota:
UPDATE
yDELETE
el uso de DQP no son posibles con elDB2OLEDB
proveedor que se incluye 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 SNA 4.0 Service Pack 4 y el proveedor que se incluye con 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