Подключение к Oracle через VBScript - PullRequest
0 голосов
/ 24 августа 2009

У меня две базы данных на одном сервере с одинаковым именем и номером порта. Запись tnxnames.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)))

Я использую MS-Access для разработки приложения и использую подключение ADODB для доступа к серверу. Я пытаюсь получить доступ к данным с сервера. Моя строка подключения выглядит так:

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

Моя проблема в том, что мой ADODB всегда подключается к порту базы данных с номером 1530. Я не могу установить его в строке подключения для доступа к базе данных через порт 1521.

Можно ли указать номер порта в строке подключения для доступа к другой базе данных с тем же именем и на том же сервере?

Мне нужно подготовить приложение для доступа к клонированной базе данных вместо исходной. Ничто, кроме номера порта, отличается между базами данных.

Ответы [ 3 ]

1 голос
/ 24 августа 2009

Вы можете найти это полезным: http://www.connectionstrings.com/oracle

0 голосов
/ 25 августа 2009

Это может быть глупый вопрос ... но есть ли обе эти записи в вашем 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)))

Попробуйте изменить его, чтобы каждое имя было уникальным.

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)))

Затем в командной строке попробуйте tnsping AAAA.FSA.GOV.UK и tnsping AAAA21.FSA.GOV.UK

0 голосов
/ 24 августа 2009

Попробуйте добавить номер порта в конец имени сервера, разделенного двоеточием.

SERVER=SERVER_NAME:1521

Я не пользователь Oracle, но это будет работать с MS SQL Server.

...