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 correctoCualquier ayuda con lo anterior será apreciada. Gracia