【发布时间】:2020-11-21 05:15:40
【问题描述】:
我有一个到 Oracle 数据库的连接字符串,如下所示:
Data Source=myserver:1521/myservice;User ID=MY_SCHEMA;Password=mypassword
我知道这基本上也是一种指定我们正在连接的数据库的无 TNS 方式。 它可以工作,但通常我们引用我们的数据库,因为它们在 LDAP 中指定。如果将数据库移动到新位置尤其有用,我们只需更新 LDAP 条目。我试过这样:
Data Source=MYLDAPENTRY;User ID=MY_SCHEMA;Password=mypassword
但是,当我尝试以这种方式连接时,我得到一个
ORA-12154: TNS:could not resolve the connect identifier specified
MYLDAPENTRY 的 TNSPING 让我返回
Used LDAP adapter to resolve the alias
Attempting to contact (DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=myserver)(PORT=1521)))
(CONNECT_DATA=(SERVICE_NAME=myservice)))
OK (140 msec)
这与我能够开始工作的无 TNS 连接相匹配。
在同一服务器/工作站上与 SQLPLUS 连接工作正常:
sqlplus MY_SCHEMA/mypassword@MYLDAPENTRY
我预计会出现错误,它默认搜索 TNSNames.ora 而不是咨询 LDAP.ora 并查询指定的 LDAP 服务器
在处理 LDAP 服务器时是否有不同的方法来指定它?还是我必须在 OPT.NET 中配置的东西?
【问题讨论】:
-
也许看这里 - connectionstrings.com
-
可以用sqlplus连接数据库吗? sqlplus MY_SCHEMA/mypassword@MYLDAPENTRY
-
@OldProgrammer - 事实上,在我来到 StackOverflow 之前我确实从那里开始(不是我第一次参加 Rodeo)。
-
@scottyu 我绝对可以通过这种方式通过 sqlplus 连接。
-
你检查 listener.log 并检查 c# 尝试连接到 listener 的内容吗?