Conexão com Oracle via VBScript
Pergunta
Eu tenho dois bancos de dados no mesmo servidor com o mesmo nome e número de porta diferente. o tnxnames.ora
A entrada se parece (na verdade, um banco de dados é um clone do outro.)
AAAA.FSA.GOV.UK =
(DESCRIPTION =
(ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(Host = SERVERNAME)(Port = 1530)))
(CONNECT_DATA = (SID = AAAA)))
AAAA.FSA.GOV.UK =
(DESCRIPTION =
(ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(Host = SERVERNAME)(Port = 1521)))
(CONNECT_DATA = (SID = AAAA)))
Estou usando o MS-ACCESS para desenvolver o aplicativo e usar a conectividade Adodb para acessar o servidor. Estou tentando acessar os dados do servidor. Minha string de conexão parece:
sConStr = "Driver={oracle in oraclient10g_home1};SERVER=SERVER_NAME;DBQ=AAAA;UID=username;Pwd=pswd"
Set oConn = New ADODB.Connection
oConn.connectionstring = sConStr
oConn.open
Meu problema é que meu ADODB sempre se conecta ao número da porta do banco de dados 1530. Não consigo defini -lo na sequência de conexão para acessar o banco de dados na porta 1521.
É possível mencionar o número da porta na string de conexão para acessar um banco de dados diferente com o mesmo nome e no mesmo servidor?
Preciso preparar o aplicativo para acessar o banco de dados clonado em vez do original. Nada além do número da porta é diferente entre os bancos de dados.
Solução
Você pode achar isso útil: http://www.connectionstrings.com/oracle
Outras dicas
Tente adicionar seu número de porta ao final do nome do servidor separado por um cólon.
SERVER=SERVER_NAME:1521
Não sou um usuário do Oracle, mas isso funcionará com o MS SQL Server.
Isso pode ser uma pergunta idiota ... mas ambas são essas entradas em seus tnsnames.ora?
AAAA.FSA.GOV.UK =
(DESCRIPTION =
(ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(Host = SERVERNAME)(Port = 1530)))
(CONNECT_DATA = (SID = AAAA)))
AAAA.FSA.GOV.UK =
(DESCRIPTION =
(ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(Host = SERVERNAME)(Port = 1521)))
(CONNECT_DATA = (SID = AAAA)))
Tente alterá -lo para que cada nome seja único.
AAAA.FSA.GOV.UK =
(DESCRIPTION =
(ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(Host = SERVERNAME)(Port = 1530)))
(CONNECT_DATA = (SID = AAAA)))
AA21.FSA.GOV.UK =
(DESCRIPTION =
(ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(Host = SERVERNAME)(Port = 1521)))
(CONNECT_DATA = (SID = AAAA)))
Então na linha de comando tente tnsping AAAA.FSA.GOV.UK
e tnsping AAAA21.FSA.GOV.UK