如何在Oracle ODBC连接字符串中指定“服务名称”

时间:2014-11-10 16:34:38

标签: vba excel-vba odbc connection-string excel

我有一个具有Oracle数据库连接的Excel宏。当我调用宏时,它会填写用户名和密码,但不会填写服务名称。用户每次都必须手动输入服务名称。

如何在连接字符串中指定它?

连接字符串:

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

2 个答案:

答案 0 :(得分:3)

找到它。这是 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 :(得分:1)

这取决于您的驱动程序check this out

但是如果没有配置文件,则必须在连接字符串中指定选项。 试一试,

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

此外,请确保在当前的两种情况下都应使用inputHost。一个应该是服务器的实例,另一个是其中的数据库。