Compartir a través de


Proveedor OLE DB para DB2

El proveedor OLE DB para DB2 de Microsoft, que se distribuye con Microsoft Host Integration Server, permite utilizar las consultas distribuidas de SQL Server para consultar los datos de las bases de datos de DB2.

[!NOTA]

Para obtener información acerca de cómo instalar y configurar el proveedor OLE DB, vea la documentación que se incluye con el proveedor.

Para crear un servidor vinculado que tenga acceso a una base de datos de DB2

  1. Instale el software Host Integration Server Client en un equipo que ejecute una instancia de SQL Server y seleccione las opciones para instalar el proveedor OLE DB para DB2.

  2. Determine la cadena de conexión que el proveedor OLE DB para DB2 de Microsoft necesita para obtener acceso al origen de datos de DB2 que desea consultar. Para determinar una cadena de conexión, se recomienda crear un archivo de vínculo de datos mediante la aplicación de nuevo origen de datos OLE DB de Host Integration Server. Para obtener más información, vea la documentación de Microsoft Host Integration Server.

  3. Ejecute sp_addlinkedserver para crear un servidor vinculado y especifique lo siguiente: DB2OLEDB como provider_name, el nombre del catálogo DB2 que contiene los datos a los que desea obtener acceso como catalog y la cadena de conexión obtenida en el paso 2 como provider_string.

    Este ejemplo muestra cómo utilizar sp_addlinkedserver para crear una definición de servidor vinculado que obtenga acceso a una base de datos de DB2:

    EXEC sp_addlinkedserver @server = 'DB2SRV',
       @srvproduct = 'Microsoft OLE DB Provider for DB2',
       @catalog = 'SEATTLE',
       @provider = 'DB2OLEDB',
       @provstr =
         'NetLib=SNA;NetAddr=;NetPort=;RemoteLU=SEATTLE;LocalLU=LOCAL;
          ModeName=QPCSUPP;InitCat=SEATTLE;
          Default Schema=WNW3XX;PkgCol=WNW3XX;TPName=;Commit=YES;
          IsoLvl=NC;AccMode=;CCSID=37;PCCodePage=1252;BinAsChar=NO;
          Data Source=Seattle_WNW3XX'
    
  4. Ejecute sp_addlinkedsrvlogin para crear asignaciones de inicios de sesión de SQL Server a inicios de sesión de DB2.

    En el ejemplo siguiente se asigna el inicio de sesión SQLJoe de SQL Server al inicio de sesión DB2Joe de DB2:

    EXEC sp_addlinkedsrvlogin 'DB2SRV', false, 'SQLJoe', 'DB2Joe', 'x894jd03?'
    

    [!NOTA]

    Las contraseñas se transmiten sin cifrar. Las contraseñas se pueden ver en scripts y definiciones de origen de datos guardadas en disco, en copias de seguridad y en archivos de registro. No utilice nunca una contraseña de administrador en este tipo de conexión. Solicite a su administrador de red las directrices de seguridad específicas para este entorno.

Una vez completados los pasos anteriores, puede utilizar el nombre de servidor vinculado DB2SRV como nombre de servidor en los nombres de cuatro partes y como linked_server en la función OPENQUERY. Por ejemplo:

SELECT *
FROM DB2SRV.SEATTLE.WNW3XX.DEPARTMENT

O bien

SELECT *
FROM OPENQUERY(DB2SRV, 'SELECT * FROM SEATTLE.WNW3XX.EMP_ACT')

Cuando en las consultas distribuidas en orígenes de datos DB2 se realicen comparaciones NULL, utilice IS NULL o IS NOT NULL en vez de los operadores de comparación, como igual a (=), mayor que (>) o menor que (<). Además, las instrucciones INSERT deben suministrar valores para todas las columnas de una tabla, aunque determinadas columnas de la tabla puedan ser NULL o tener valores predeterminados.