es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

SQL- Seleccionar datos de diferentes tablas de base de datos.

En SQL Developer, quiero ejecutar una consulta que seleccione datos de una tabla en una base de datos diferente, algo así:

SELECT *
FROM db2.table;

Intenté usar un enlace de base de datos y GRANT SELECT ON db2.table TO current_Db;, pero aun así obtengo el mensaje “la tabla o vista no existe”..
Cualquier ayuda es muy apreciada.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Una posible solución a este problema sería asegurarse de que el enlace a la base de datos se haya configurado correctamente. Para hacer esto, puede intentar los siguientes pasos:

    1. Asegúrese de que el enlace a la base de datos se haya creado con el nombre correcto, utilizando la sintaxis:
    CREATE DATABASE LINK link_name
    CONNECT TO username
    IDENTIFIED BY password
    USING 'tns_entry';
    

    Donde ‘link_name’ es el nombre que desea dar al enlace, ‘username’ y ‘password’ son las credenciales para la base de datos remota, y ‘tns_entry’ es la cadena de conexión para la base de datos remota.

    1. Confirme que el enlace está activo ejecutando la consulta:
    SELECT * FROM v$dblink;
    

    Esto debería mostrar una lista de todos los enlaces de base de datos activos, incluyendo el que acaba de crear.

    1. Intente ejecutar la consulta nuevamente, pero con la sintaxis correcta para hacer referencia a la tabla en la base de datos remota:
    SELECT * FROM table@link_name;
    

    Donde ‘table’ es el nombre de la tabla en la base de datos remota, y ‘link_name’ es el nombre del enlace a la base de datos que creó.

    Si estos pasos no resuelven el problema, es posible que deba verificar los permisos en la tabla remota para asegurarse de que al usuario ‘current_Db’ se le hayan otorgado los privilegios necesarios.

Comments are closed.