Pessoal, bom dia.
Gostaria de saber se, no Oracle, existe uma forma de, uma mesma sessão, eu dar um select num outro banco, como por exemplo, se faz no SQL Server.
Exemplo:
Estou logado como Paulo no Banco A.
Gostaria de dar um select do tipo:
select bancoB.campo from table
Muito obrigado.
Abraço,
Paulo Trevisolli
Select em N bancos
-
- Moderador
- Mensagens: 2016
- Registrado em: Qua, 12 Jan 2005 3:25 pm
- Localização: Araraquara - SP
- dr_gori
- Moderador
- Mensagens: 5024
- Registrado em: Seg, 03 Mai 2004 3:08 pm
- Localização: Portland, OR USA
- Contato:
Thomas F. G
Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered
Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered
Olá trevisolli
Você pode criar um DB LINK entre os bancos. Para isso, você deve ter privilégio de CREATE DB LINK. Daí você cria dessa forma:
Por exemplo, abaixo eu estou conectado no banco de testes. Daí eu dou o seguinte comando pra criar um dblink para o banco de produção:
É claro, antes disso, você tem que verificar se o TNSNAMES.ORA do servidor de proução tem uma referencia para o banco de testes.
Daí, é só você fazer um select dessa forma:
É claro, o que eu citei acima não é nada seguro. (tipo, dessa forma, qualquer um da base de testes terá acesso a base de produção. Normalmente, se faria o CONTRARIO disso. Ou seja, criar um dblink na base de produção apontando pra base de testes).
Outra coisa que você não deve fazer por questões de segurança é criar um public database link. OU seja, qualquer um poderá ter acesso a esse banco.
Você pode criar um DB LINK entre os bancos. Para isso, você deve ter privilégio de CREATE DB LINK. Daí você cria dessa forma:
Por exemplo, abaixo eu estou conectado no banco de testes. Daí eu dou o seguinte comando pra criar um dblink para o banco de produção:
create database link NOME_DO_DBLINK
connect to USER_DO_BANCO_QUENTE identified by SENHA_DO_BANCO_QUENTE
using 'NOME_DO_BANCO_QUENTE';
Daí, é só você fazer um select dessa forma:
SELECT x.* FROM TABELA@NOME_DO_DBLINK x
WHERE etc.etc.etc...
Outra coisa que você não deve fazer por questões de segurança é criar um public database link. OU seja, qualquer um poderá ter acesso a esse banco.
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 14 visitantes