Dblink Oracle-->SQL Server. Ora-00942

Necesito ayuda con un database link publicono se que más probar...
He creado un database link desde Oracle 10g express edition a sql server 2008. Lo creo desde oracle con un usuario con las mismas credencias que el usuario propietario de las tablas y al hacer la pruba
select * from dual@nombre_dblink
el resultado es favorable pero si intento consultar una tabla el resultado es el siguiente:
ORA-00942: la tabla o vista no existe [Generic Connectivity Using ODBC][Microsoft][ODBC SQL Server Driver][SQL Server]El nombre de objeto 'DBO.ASIGNATURAS_GETAFE' no es válido.[Microsoft][ODBC SQL Server Driver][SQL Server]No se puede preparar la instrucción o instrucciones. (SQL State: S0002; SQL Code: 208) ORA-02063: 2 lines precediendo a ENLACEORACLE_SQLSERVER

1 respuesta

Respuesta
1
Segun veo basicametne és el dblink que o esta mal echo o no existe la tabla que quieres acceder.
No se exactametne si la 10G edition tiene compatiblidad para sqlsever, pero yo de ti intentaria lo siguiente, suponiendo que tengas un windows mira si el tema de la obdc estan correctamente intstalado.
Si es asi intetnta hacer un select y ver si se llega no intentes ejecutar el dblink tan solo haz la select y comprueba si se llega o no. Normalment estos dblink los debes hacer desde origen hacia el destino. Pero conprubea eso ya sabes intalación de ODBC que el tnsnames tenga los dartos correctos de conectividad y luego crea el dblink.
Presupongo que son 2 máquinas o servidores diferentes intenta hacer un ping para ver si hay visibilidad o un trace route, Si no "llegas" hay tienes el problema.
Sin ams información hasta quin puedo ayudarte .
Hola.
En efecto son dos maquinas diferentes. Los ping llegan en ambos sentidos y en la maquina con el servidor oracle tengo ademas una sql developer instalado y puedo crear conexiones a la BD de SQL Server y hacerle consultas.
Desde SQL Server
En la conexión con SQL server hago una select y recupera la consulta
select * from alumnos
y en la de Oracle hago lo mismo pero con el enlace previamente creado y da el error que comento
select * from alumnos@nombreEnlace
No estoy muy segura de si la consulta hay que hacerla de esta manera, SQL Server es bastante desconocido para mi...
¿Qué puedo hacer para comprobar que el ODBC esta bien instalado? En cuanto al tnsnames ejecuto un tnsping y llega correctamente
Muchas gracias
Creo poder ver donde esta el problema.
Haber lo dblinks no son bidireccionales si son unidireccionales. Es decir si te va de SQLSERVER hacia ORACLE es porque al crearlo en la ORACLE lo creaste "al revés" si el acceos lo querías hacer desde ORACLE hacia SQLSERVER.
Recrea de nuevo el dblink ya sabes desde el origen hasta el destino y prueba de nuevo. Si ves que la select no funciona correctamente intetan lo poniendo el nombre de usuario del schema de aplicación delante.
Por cierot es un dblink publico o privado.? ¿

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas