Acceso a procedimiento de otra base de datos

A ver si puedes
Solucionarme esta duda. Resulta que tengo 2 bases de datos, en ambas
tengo procedimientos almacenados, y quiero que desde un procedimiento de
la primera base de datos, acceder a otro procedimiento que tiene una
función de la segunda base de datos. Tengo creados roles en la 2ª bbdd, y
uno de ellos, puede ejecutar ese paquete con la función. Luego, le
asigno al usuario de la 1ªbbdd ese rol de la 2ª. A la hora de intentar
acceder a esa función poniendo paquete. Función, me sale error ORA-00904.
¿Qué es lo que estoy haciendo mal? ¿No puedo acceder a esos
procedimientos desde otra base de datos?

1 Respuesta

Respuesta
1

¿Qué manejador de base de datos utilizas?

Estoy usando Oracle SQL Developer, a esto te refieres?

Si exacto me refería a eso.

Te explico, en cuanto a tablas y consultas o vistas se puede hacer algo de la siguiente manera:

SELECT nombrebase.nombretabla.nombrecampo, nombrebase2.nombretabla2.nombrecampo2
FROM nobrebase. Nombretabla, nobrebase2.nombretabla2;

Con esto indicas a la consulta SQL el origen de cada campo, cada tabla y las bases de datos que estás utilizando.

En cuanto a los procedimientos almacenados, esos en oracle se comportan como un lenguaje de programación embebido dentro del motor de base de datos, lo cual es igual para todas las bases de datos contenidas en el, lo que cambiaría sería la referencia a los campos que vas a utilizar, teniendo en cuenta siempre apuntar al adecuado de la siguiente manera:

Nombrebase. Nombretabla.<span>nombrecamp</span>o

Siempre antes de apuntar al campo debes hacer el recorrido completo base de datos, tabla, campo; así le indicas al procedimiento donde buscar los datos en determinado momento.

Si el procedimiento no interactúa con datos, como por ejemplo, capturar la fecha del servidor, declaraciones de parámetros o tipos de datos, tiggers, son tomados como funciones internas de la base de datos, lo que se te haría un poco imposible interactuar con mas de una a la vez.

Espero haberte aclarado un poco, no dudes en volver a comentar...

Genial, gracias... ahora a ponerlo en práctica, gracias por responder tan rápido, así da gusto! Te añado como experto favorito! ;)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas