【问题标题】:Error ORA-12154 in Delphi for a connection that's working in TOAD在 TOAD 中工作的连接在 Delphi 中出现错误 ORA-12154
【发布时间】:2011-01-10 19:19:15
【问题描述】:

在 Delphi 2010 中,我想使用 ODAC 组件 (TOraSession) 连接到安装在我自己机器上的 Oracle XE 实例。当我为连接设置参数时,我收到“ORA-12154:TNS:无法解析指定的连接标识符”错误消息。

但是使用相同的参数(和相同的 TNSNames.Ora 文件),我可以使用 TOAD 进行连接。

谁能帮我解决这个问题。

提前致谢

【问题讨论】:

    标签: oracle delphi toad


    【解决方案1】:

    如果您在 x64 操作系统上运行,并且您将 Delphi(或任何试图访问 Oracle 的软件)安装在带括号的路径中(即 (x86)...),而 TOAD 不是,您可能会遇到此错误.

    请参阅 Oracle 支持中的 DocID 334528.1(如果您有权访问)。这个bug已经在以后的补丁中修复了,但是XE没有官方补丁(基本上是10.2.0.1)。

    我不会使用 Oracle XE,因为它实际上是一个不受支持的版本,没有为它发布任何补丁。我需要 Oracle 进行自学,您可以在 http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html 下载完整软件(检查许可证),如果您需要免费的数据库服务器,请到别处查找。

    【讨论】:

    • 好的,Delphi和Toad分别在哪些路径?
    • DELPHI:C:\Program Files (x86)\Embarcadero\RAD Studio\7.0\bin 和 TOAD:C:\My Programs\Quest Software\Toad for Oracle 10.5
    • 好的,你可能遇到了这个错误。请注意,您将 Delphi 安装在带括号 [Program Files (x86)] 的路径中,而 Toad 没有。不幸的是,无法修补 Oracle XE。您可以尝试下载更高版本的 Oracle 客户端(或即时客户端)并尝试使用它而不是 XE 客户端库。否则,您已从不带括号的路径运行应用程序。
    • 我会尝试你的建议。非常感谢
    【解决方案2】:

    可能是您没有使用相同的 tnsnames.ora(即使您认为自己使用过)。例如,如果您安装了 Oracle 10g 客户端和 ODAC 11,就会发生这种情况。

    要查看这是否是 tnsnames 问题,您可以尝试通过以下代码在不使用 tnsnames 的情况下进行连接:

    (DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=[MyHost])(PORT=[MyPort])))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=[MyOracleSID]))) ;用户 ID=[myUsername];Password=[myPassword];

    将 [] 之间的值替换为您的实际值,以便 (HOST=128.1.7.9)(PORT=1521)....

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-04-01
      • 2016-03-16
      • 1970-01-01
      • 2017-06-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多