在Delphi 2010中,我想使用ODAC组件(TOraSession)连接到我自己机器上安装的Oracle XE实例。当我为连接设置参数时,我得到了“ORA-12154:TNS:无法解析指定的连接标识符”错误消息。
但是使用相同的参数(和相同的TNSNames.Ora文件)我可以使用TOAD连接。
任何人都可以帮助我。
提前致谢
答案 0 :(得分:1)
如果您在x64操作系统上运行,并且在带有括号的路径中安装了Delphi(或任何试图访问Oracle的软件)(即(x86)......),而TOAD则没有,则可能会遇到此错误
请参阅Oracle Support中的DocID 334528.1(如果您有权访问)。此错误已在稍后的补丁中修复,但XE没有正式补丁(基本上是10.2.0.1)。
我不会使用Oracle XE,因为它实际上是一个不受支持的版本,没有为它发布补丁。我需要Oracle进行自学,如果您需要在其他地方寻找免费的数据库服务器,可以在http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html(检查许可证)下载完整的软件。
答案 1 :(得分: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 = [myUsername];密码= [myPassword];
将[]与实际值之间的值替换为(HOST = 128.1.7.9)(PORT = 1521)....