【发布时间】: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