【问题标题】:How to specify "Service Name" in Oracle ODBC connection string如何在 Oracle ODBC 连接字符串中指定“服务名称”
【发布时间】:2014-11-10 16:34:38
【问题描述】:

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

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

连接字符串:

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

Excel提示:

【问题讨论】:

  • 服务名称是什么,这是连接字符串的一部分吗?见ConnectionStrings for details
  • 已经检查过了。该网站中有一个带有“SERVICE_NAME=”参数的连接字符串,正如下面提到的 Jimmy,但它不起作用。

标签: vba excel odbc connection-string


【解决方案1】:

找到了。这是DBQ

新的连接字符串:

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

【讨论】:

    【解决方案2】:

    这取决于你的驱动程序,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 在当前使用的两种情况下都应使用。一个应该是服务器实例,另一个是其中的数据库。

    【讨论】:

    • 很好,但它不起作用。 SERVICE 参数也不起作用。 DB、HOST 和 SERVICE NAME 值在我的环境中是相同的。
    • 啊哈,是Oracle XE版吗?正如我所说,它依赖于驱动程序,我无法从原始连接字符串中收集驱动程序。
    猜你喜欢
    • 1970-01-01
    • 2016-10-22
    • 1970-01-01
    • 2012-08-16
    • 2013-01-13
    • 2020-12-11
    • 2016-01-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多