【问题标题】:ORA-12154 error on server 2008服务器 2008 上的 ORA-12154 错误
【发布时间】:2013-01-24 13:25:49
【问题描述】:

我正在将 VB.NET 2010 应用程序从 32 位 2003 服务器移动到连接到 Oracle 11g 数据库的 64 位 2008 服务器,并在执行时收到以下错误消息。

DefaultSource   Error   2
ERROR [08004] [Oracle][ODBC][Ora]ORA-12154: TNS:could not resolve the connect identifier specified
ERROR [IM006] [Microsoft][ODBC Driver Manager] Driver's SQLSetConnectAttr failed

这是我做过的一些事情。

  • 向服务器添加了 TNS_ADMIN 环境变量。
  • 让服务器管理安装了 64 位“Oracle 驱动程序 Oracle in OraClient11g_home1”。他们还卸载了 32 位“Microsoft ODBC for Oracle”驱动程序。
  • 已验证我可以使用 SQLPlus 连接到服务器
  • 更新了我用来使用 32 位“Microsoft ODBC for Oracle”的连接字符串
  • 将数据库添加到 ODBC 系统 DNS,并验证连接是否正常。

这是节点下我的配置文件中的连接字符串。

<add name="SCHEMA_NAME" 
 connectionString="Driver={Oracle in OraClient11g_home1};Dbq=DATABASE_NAME;uid=USER;pwd=PASSWORD;"/>

对我可以尝试的方法有什么建议,或者需要进行哪些更改才能使其在新服务器上运行?

【问题讨论】:

  • 我想补充一点,TNSPING 也能正常工作。
  • 您的应用程序编译为“AnyCPU”还是“x86”?它是 IIS 应用程序吗?
  • 符合AnyCPU,由批处理脚本执行。 WebSphere 正在服务器上运行,但未连接到应用程序。
  • 我相信这部分问题已经解决了。我的服务器管理员禁用了 32 位 ODBC 连接器,但没有卸载它。这样做消除了错误,但添加了一条新的错误消息,指出“算术运算导致溢出”。该错误使我感到困惑,因为该应用程序仅进行字符串处理,并将错误追溯到运行 System.Data.Odbc.OdbcCommand.ExecuteReader()。

标签: oracle 64-bit windows-server-2008 vb.net-2010


【解决方案1】:

我通过更改连接到 oracle 的方式解决了这个问题。我正在使用 Oracle.DataAccess 引用,删除连接字符串中的驱动程序引用,并使用 OracleConnection 和 oracleCommand 重建连接。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-11-02
    • 2010-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多