MS SQL 2008 - Configuração do Oracle Linked Server [SERVICE_NAME não recebeu erro]

1

Estou tentando configurar um servidor vinculado no MS SQL 2008 R2 para um servidor Oracle 11g. Eu tenho o cliente Oracle instalado e sqlnet.ora, tnsnames.ora & listener.ora copiado do servidor e no lugar com os seguintes valores:

sqlnet.ora

SQLNET.AUTHENTICATION_SERVICES= (NTS)

NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)

tnsnames.ora

ORACLE =

 (DESCRIPTION = 

   (ADDRESS = (PROTOCOL = TCP)(HOST = slug.blue.local)(PORT = 1521)) 
   (CONNECT_DATA = 
       (SERVER = DEDICATED) 
       (SERVICE_NAME = oracle.blue.local)
   )
 )

listener.ora

LISTENER =

  (DESCRIPTION_LIST =

      (DESCRIPTION =
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
          (ADDRESS = (PROTOCOL = TCP)(HOST = slug.blue.local)(PORT = 1521))
       )
   )

mas continuo recebendo este erro ao criar um novo servidor vinculado

The linked server has been created but failed a connecton test. Do you want to keep the linked server?

Aditional information:

  • An exception occurred while executng a Transact-SQL statement or batch. (Microsoft.SqlServer.ConnectionInfo)

  • Cannot initialize the data source object of OLE DB provider "OraOLEDB.Oracle" for linked server "ORACLE".

    OLE DB provider "OraOLEDB.Oracle" for linked server "ORACLE" returned message

    "ORA-12504: TNS:listener was not given the SERVICE_NAME in CONNECT_DATA." (Microsoft SQL Server, Error: 7303)

Alguém consegue encontrar algum problema com a minha configuração?

Existem outras maneiras de especificar o SERVICE_NAME ou tudo vem dos arquivos .ora no oracle client?

    
por cander 27.04.2011 / 16:28

1 resposta

1

Não vejo nada de errado com o seu arquivo TNSNAMES.ora, sintaticamente. Consegui copiar / colar no meu e alterar o nome do host e o nome do serviço e conectar-me com êxito.

Tente conectar-se ao SQL * Plus. Isso lhe dá o mesmo erro? Você pode se conectar com a sintaxe EZCONNECT: sqlplus user@'slug.blue.local: 1521 / oracle.blue.local '?

Você tem mais de um cliente Oracle instalado em seu sistema local?

Além disso, experimente um arquivo TNSNAMES.ORA básico, apenas com a entrada que você postou.

Além disso, você tentou se conectar ao SQL * Plus usando o arquivo tnsnames.ora? Ou seja, usuário sqlplus @ oracle

    
por 27.04.2011 / 17:03