获取 ORA-12514,但我们可以通过 SQLPlus 连接

Getting ORA-12514, but we can connect via SQLPlus

我们的应用程序突然出现错误 ORA-12514, TNS:listener does not currently know of service requested in connect descriptor

谷歌搜索似乎提出了一些简单的解决方案(例如找到 here),但它们对我们不起作用。

令人费解的是:

为什么我们可以用SQLPlus连接到数据库,但我们的应用程序不能?

这里有两种连接方法(JDBC 和 SQLPlus),两者都是匿名的:

JDBC

{
jdbcDriver=oracle.jdbc.OracleDriver,
jdbcUser=THE_USER,
jdbcPassword=THE_PASSWORD,
configurationVersion=1.0.14,
jdbcURL=jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(Host=THE_HOST)(Port=THE_PORT))(CONNECT_DATA=(SERVICE_NAME=THE_SERVICE_NAME)))
}

SQLPlus

sqlplus THE_USER/'THE_PASSWORD@'"(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(Host=THE_HOST)(Port=THE_PORT))(CONNECT_DATA=(SERVICE_NAME=THE_SERVICE_NAME)))"

根据我们的数据库专家的说法,“Oracle Internet Directory (OID) 中存在错误条目”。

他们清理了它,现在它又能用了。抱歉,这不是很有帮助的答案,但我不知道更多细节...