Compartir a través de


Creación de un servidor vinculado a DB2 mediante el proveedor OLE DB de Microsoft para DB2

En este artículo se describe un script SQL de ejemplo para crear un servidor vinculado a DB2 mediante sp_addlinkedservery 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_addlinkedservery 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:

    1. Inicie el administrador de SQL Server Enterprise.

    2. 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 mediante OPENQUERY con el nombre de 3 partes:

    SELECT * FROM OPENQUERY(WNW3XX,"SELECT * FROM OLYMPIA.WNW3XX.EMP_ACT")
    
  • Ejemplo de paso a través SELECT mediante OPENROWSET 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 y DELETE el uso de DQP no son posibles con el DB2OLEDB 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