0

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

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

任何人都可以帮我解决这个问题。

提前致谢

4

2 回答 2

1

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

请参阅 Oracle 支持中的 DocID 334528.1(如果您有权访问)。此错误已在以后的补丁中修复,但没有适用于 XE 的官方补丁(基本上是 10.2.0.1)。

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

于 2011-01-10T11:13:06.210 回答
0

可能是您没有使用相同的 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 =[我的用户名];密码=[我的密码];

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

于 2011-01-10T11:13:56.460 回答