Conectando Oracle a SQL Server a través del enlace de la base de datos

Estoy tratando de conectarme desde Oracle 10G (en UNIX) a una base de datos de SQL Server (en Windows). He mirado el manual y admito que encuentro que la documentación es bastante difícil de seguir. Parece que hay varias opciones para usar, pero ninguna de la documentación describe cómo funciona cada opción.

omo ejemplo, se me ha dado la siguiente información sobre la base de datos a la que necesito conectarme (es decir, la base de datos de SQL Server)

Nombre de usuarioContraseñDatabase Name [supongamos que el nombre de la base de datos es data_extract]

Para conectar lo anterior, hice los siguientes cambios

$ ORACLE_HOME / hs / admin / inithsodbc.ora
  HS_FDS_CONNECT_INFO = data_extract
  HS_FDS_TRACE_LEVEL = 0
$ ORACLE_HOME / network / admin / tnsnames.ora
  sqlserver.db =
          (DESCRIPTION =
                  (ADDRESS = (protocol=tcp)(host=10.10.10.10)(port=49400))
                          (connect_data = (sid=data_extract))
                          (hs=ok)
          )
$ ORACLE_HOME / network / admin / listener.ora
  LISTENER =
    (DESCRIPTION_LIST =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = merlin)(PORT = 1525))
      )
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
      )
    )

  SID_LIST_LISTENER =
    (SID_LIST =
      (SID_DESC =
        (SID_NAME = PLSExtProc)
        (ORACLE_HOME = /u/app/oracle/product/10.2.0/db)
        (PROGRAM = extproc)
      )
      (SID_DESC =
        (GLOBAL_DBNAME = db1.mydb.co.uk)
        (ORACLE_HOME = /u/app/oracle/product/10.2.0/db)
        (SID_NAME = billdb)
      )
      (SID_DESC =
          (SID_NAME = data_extract)
          (ORACLE_HOME = /u/app/oracle/product/10.2.0/db)
          (program = hsodbc)
      )
    )

Nota: En listener.ora, solo agregué la última entrada SID_DESC.

uego seguí y creé el enlace de la base de datos como se muestra a continuación

  create database link sqlservdb using 'sqlserver.db';

Cuando intento acceder a una tabla, aparece el siguiente error

  sqlplus> select * from TESTTABLE@sqlservdb;
  select * from TESTTABLE@sqlservdb
                             *
  ERROR at line 1:
  ORA-28545: error diagnosed by Net8 when connecting to an agent
  Unable to retrieve text of NETWORK/NCR message 65535
  ORA-02063: preceding 2 lines from ORASQLSERVER

Un par de cosas de las que no estoy seguro

¿Dónde especifico el nombre de usuario y la contraseña para acceder al servidor sql desde el oráculo db al servidor sql db Al leer en Internet, puedo ver a algunas personas refiriéndose a una fuente de datos DSN. Me dicen que la información que tengo es todo lo que necesito. ¿Es correcto o necesito algo más? El sid que especifiqué en inithsodbc.ora y tnsnames.ora es en realidad la base de datos del servidor sql. ¿Es esto correcto

Cualquier ayuda con lo anterior será apreciada. Gracia

Respuestas a la pregunta(2)

Su respuesta a la pregunta