2014-11-10 2 views
0

У меня есть макрос Excel, который имеет соединение с базой данных Oracle. Когда я вызываю макрос, он заполняет имя пользователя и пароль, но не имя службы. Пользователь должен каждый раз вводить имя службы.Как указать «Имя службы» в строке подключения Oracle ODBC

Как я могу указать его в строке соединения?

Строка соединения:

CN.ODBCConnection.Connection = _ 
"ODBC;DRIVER={Oracle in OraClient11g_home2};" & _ 
"UID=" & inputUser & ";PWD=" & inputPassword & ";" & _ 
"HOST=" & inputHost & ";PORT=1521;DB=" & inputHost & ";" & _ 
"DefaultIsolationLevel=READUNCOMMITTED" 

Excel запрос:

enter image description here

+0

что имя службы, как это часть строки соединения? См. [ConnectionStrings для получения дополнительной информации] (http://www.connectionstrings.com/oracle/) –

+0

Уже проверено. На этом веб-сайте есть строка подключения с параметром SERVICE_NAME =, как указано ниже, но это не работает. – Ned

ответ

2

Найдено. Это DBQ

Новая строка соединения:

CN.ODBCConnection.Connection = _ 
"ODBC;DRIVER={Oracle in OraClient11g_home2};" & _ 
"DBQ=" & inputHost & ";UID=" & inputUser & ";PWD=" & inputPassword & ";" & _ 
"HOST=" & inputHost & ";PORT=1521;DB=" & inputHost & ";" & _ 
"DefaultIsolationLevel=READUNCOMMITTED" 
1

Это зависит от драйвера, check this out

Но без конфигурационного файла, вы должны укажите параметры в t он соединительная строка. Дайте этому попытку,

CN.ODBCConnection.Connection = _ 
"ODBC;DRIVER={Oracle in OraClient11g_home2};" & _ 
"SERVICE_NAME=" & inputHost & ";UID=" & inputUser & ";PWD=" & inputPassword & ";" & _ 
"HOST=" & inputHost & ";PORT=1521;" & _ 
"DefaultIsolationLevel=READUNCOMMITTED" 

Кроме того, убедитесь, что inputHost следует использовать в обоих случаях, когда в настоящее время. Один из них должен быть экземпляром сервера, а другой - базой данных внутри него.

+0

Хороший улов, но он не работает. Параметр SERVICE не работает. Значения DB, HOST и SERVICE NAME одинаковы в моей среде. – Ned

+0

Ага, это издание Oracle XE? Как я уже сказал, это зависит от драйверов, и я не смог собрать драйвер из исходной строки подключения. –

Смежные вопросы