【问题标题】:ODP.Net 9.2 and 11 on the same machine, using VS2008ODP.Net 9.2和11在同一台机器上,使用VS2008
【发布时间】:2010-02-22 22:20:55
【问题描述】:

我目前正在开发应用程序,一个使用 ODP.Net 9.2,另一个应该使用 ODP.Net 11。我正在使用 VS2008 的服务器资源管理器添加新连接,但每次都失败错误“ORA-12154:TNS:无法解析指定的连接标识符”。我无法调试正在使用的 ODP VS2008。有人遇到过这种问题吗?

我在 Windows XP SP3 机器上使用 ODP.net 9.2 和 11,以及 Visual Studio 2008。

谢谢

【问题讨论】:

    标签: visual-studio-2008 oracle odp.net


    【解决方案1】:

    这意味着 TNSNAMES.ORA 中缺少您的连接。使用无 TNS 的连接字符串更容易......像这样:

    Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=MyHost)(PORT=MyPort)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=MyOracleSID)));User Id=myUsername;Password=myPassword;
    

    【讨论】:

    • 不,它在里面,我和我的一位同事使用相同的 TNSNAMES.ORA,唯一的区别是他没有 ODP.Net 9.2
    • 搜索 TNSNAMES.ORA。您可能拥有多个 Oracle Home,因此拥有多个 TNSNAMES 文件。如果可以,最好避免 TNSNAMES
    【解决方案2】:

    最后,我进入 C:\windows\assembly 并从 GAC 中删除 9.2 Oracle.dataAccess。不是我真正希望的解决方案,但至少目前是这样。

    谢谢詹姆斯和沙!

    【讨论】:

      【解决方案3】:

      您有正确版本的 9.2 和 11 库吗?我的意思是 32 位和 64 位?我在我的机器上使用了它们,但是你必须小心使用正确的位版本。

      【讨论】:

      • 是的,我有两个 32 位版本的库。如你所料,我使用的是 32 位机器。
      【解决方案4】:

      将 9.2 Oracle.dataAccess.dll 复制到应用程序的 bin 目录中。

      【讨论】:

      • 应用程序运行良好,但如果我尝试使用 Visual Studio IDE 中的任何向导,它将失败
      【解决方案5】:

      我猜这是提交给 Oracle 的错误。

      为 oracle tns 创建一个 UDL 连接文件,然后在解决方案资源管理器中重试。现在,一切都应该正常了。

      1) 桌面 -> 创建 test.udl 文件 -> 选择“Oracle Provider for OLEDB” -> 单击下一步 -> 在数据源中提供 tnsname -> 提供身份验证凭据 -> 点击“测试连接” -> 你应该会看到连接成功。 2) 现在完成上述步骤,您可以轻松地从 Visual Studio 的“服务器资源管理器”连接到 oracle 数据库。

      祝你好运。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-03-07
        • 1970-01-01
        • 2014-08-29
        • 2016-06-18
        • 1970-01-01
        • 1970-01-01
        • 2021-04-24
        相关资源
        最近更新 更多