Partilhar via


OLE DB Provider for DB2

O Microsoft OLE DB Provider for DB2, distribuído com o Microsoft Host Integration Server, permite consultas distribuídas do SQL Server para consultar dados em bancos de dados DB2.

ObservaçãoObservação

Para obter informações sobre como instalar e configurar o provedor OLE DB, consulte a documentação incluída com o provedor.

Para criar um servidor vinculado para acessar um banco de dados DB2

  1. Instale o software do Host Integration Server Client em um computador que esteja executando uma instância do SQL Server e selecione as opções para instalar o OLE DB Provider for DB2.

  2. Determine a cadeia de conexão requerida pelo OLE DB Provider for DB2 para acessar a fonte de dados DB2 a ser consultada. A melhor maneira de determinar uma cadeia de conexão é criar um arquivo de Vínculo de Dados usando o aplicativo Nova Fonte de Dados OLE DB do Host Integration Server. Para obter mais informações, consulte a documentação do Microsoft Host Integration Server .

  3. Execute sp_addlinkedserver para criar um servidor vinculado especificando DB2OLEDB como o provider_name, o nome do catálogo do DB2 que contém os dados a serem acessados como catalog e a cadeia de conexão da etapa 2 como provider_string.

    O exemplo a seguir mostra como usar sp_addlinkedserver para criar uma definição de servidor vinculado que acessa um banco de dados 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. Execute sp_addlinkedsrvlogin para criar mapeamentos de logons do SQL Server para logons de DB2.

    O exemplo a seguir mapeia o logon do SQLJoe do SQL Server para o logon DB2Joe do DB2.

    EXEC sp_addlinkedsrvlogin 'DB2SRV', false, 'SQLJoe', 'DB2Joe', 'x894jd03?'
    
    ObservaçãoObservação

    As senhas serão transmitidas descriptografadas. Senhas podem ser visíveis em definições de fonte de dados e scripts salvos em disco, em backups e em arquivos de log. Nunca use uma senha de administrador nesse tipo de conexão. Consulte o administrador da rede para obter orientações sobre segurança específicas a seu ambiente.

Depois de concluir as etapas anteriores, você pode usar o nome do servidor vinculado DB2SRV como o nome do servidor em nomes de quatro partes e como linked_server na função OPENQUERY. Por exemplo:

SELECT *
FROM DB2SRV.SEATTLE.WNW3XX.DEPARTMENT

Ou

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

Quando as consultas distribuídas em relação a fontes de dados DB2 envolvem comparações de NULL, use ISNULL ou IS NOT NULL em vez de operadores de comparação, como é igual a (=), é maior que (>) ou é menor que (< ). Além disso, instruções INSERT devem fornecer valores para todas as colunas em uma tabela, mesmo que determinadas colunas da tabela sejam NULL ou tenham valores padrão.