Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Como faço para conectar em duas bases oracle via ODBC?
Eu consigo conectar normalmente em uma base.
Veja as configurações do TSNAMES.
# tnsnames.ora Network Configuration File: C:\oracle\product\10.2.0\client_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.
DB1 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = XX.XX.XX.X)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = ORCL)
)
)
DB2 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = YYY.YYY.YYY.YY)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = ORCL)
)
)
Ambas entradas tem o mesmo SERVICE_NAME?
Não deveriam ser distintas?
Não sei te dizer.
Na verdade eu já tenho as configurações do oracle prontas e rodando com o nosso sistema ERP no servidor e nós não temos conhecimento de Oracle.
Em nosso sistema ERP ele faz uso das bases BD1 e BD2 sendo: BD1 acesso ip local e BD2 acesso ip externo.
O problema é que no configurador do ODBC não entende DB1 e DB2, ele só entende esse ORCL que não faço a minima idéia de onde vem esse tal de ORCL
ORCL é o servicename de ambas entradas
DB1 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = XX.XX.XX.X)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = ORCL)
)
)
Não sei ao certo se funciona, tente renomear uma das entradas para outro nome e veja o que acontece
Tentei colocar a segunda conexão assim:
DB2 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = YYY.YYY.YYY.YY)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = DB2)
)
)
Não funcionou.
Veja as configurações do meu cliente do Oracle:
Parece que esse ORCL é o nome do banco de dados oracle.
Veja o erro que deu após as alterações acima:
Meu conhecimento em Oracle é limitado, veja com o seu DBA se é como criar SERVICE_NAME diferentes para cada banco.
Marcio,
Ao invés de ODBC, utilize OLEDB.
Usando OLEDB ele vai usar o apelido (DB1,DB2)
Poderia me dar um exemplo de como fazer essa conexão OLEDB?
Não funciona. Mesmo problema.
NAO FUNCIONA:
OLEDB CONNECT32 TO [Provider=MSDAORA.1;User ID=MARCIO;Data Source=DB1] (XPassword is PFRWOaVMDbcSWZ);
FUNCIONA:
OLEDB CONNECT32 TO [Provider=MSDAORA.1;User ID=MARCIO;Data Source=ORCL] (XPassword is PFRWOaVMDbcSWZ);