我在我的C: Oracle Product 11.1.0 network admin admin tnsnames.ora文件中有以下条目。

enter code herepvtest.world =

(描述=

(ADDRESS_LIST =

  (ADDRESS = (PROTOCOL = TCP)(HOST = xxxx.xxx.xxx)(PORT = 1521))

)

(CONNECT_DATA =

  (SID = pvtest)

  (SERVER = DEDICATED)

)

)

我可以成功使用蟾蜍连接。现在,当我尝试创建新的ODBC DSN时,它不允许我这样做。如何在TNS服务名称中指定端口号?

enter code here获取以下错误:-----------------------------------------------------

测试连接

无法连接SQLSTATE = S1000 [ORACLE] [ODBC] [ORA] ORA-12514:TNS:侦听器当前不知道连接描述符中请求的服务


好的

有帮助吗?

解决方案

当您说可以与蟾蜍建立联系时,现在可以这样做,而ODBC连接失败了?如果您可以使用客户端PC上的任何工具连接,那么显然另一端的听众知道该服务,因此您必须怀疑自己的结局。一个客户工具可能是试图在差异位置到达pvtest,而不是另一个。

如果一个客户端工具可以连接而另一个可以连接,则首先我会确认两个客户端都使用相同的tnsnames.ora文件。搜索您的客户端,看看是否还有其他tnsnames.ora文件,这意味着其他oracle_homes(Google,如果您不知道它是什么)。

从命令行进行tnsping,看看它是否到达主机。它还将讲述连接详细信息。

在蟾蜍中,检查连接详细信息,并确保它使用TNSNAME连接,如果可以的话,哪个TNSNAME。

检查您的客户是否具有环境变量TNS_ADMIN集。

其他提示

我有这样的障碍物:Oracle XE:

xe =(description =(address =(stolopty = tcp)(host = test.acme.org)(port = 1521))(connect_data =(server = dettecated)(service_name = xe)))))))))

如果将其与您的定义进行比较,则不是“ service_name”参数。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top