我们有一个本地运行的应用程序,我们遇到了以下错误:

ORA-12514: TNS:监听器当前不知道所请求的服务 在连接描述符中

我已经使用正确解决的tnspring测试了连接 我尝试使用SQLPlus进行连接,但失败了,出现了与上面相同的错误。我在SQLPlus中使用了以下语法:

sqlplus username/password@addressname[or host name]

我们已核实:

服务器上的TNS Listener正在运行。 服务器上的Oracle本身正在运行。

我们不知道这个环境发生了什么变化。 还有什么可以测试的吗?


当前回答

我有一个案例,我使用DBMS,我必须完成一个数据库连接表单。

我把SID放入数据库字段,在下拉框中,在字段旁边,我有“服务名称”值而不是“SID”值。 (通常我不使用Oracle数据库,所以我没有意识到差异)

这就是我得到错误消息的原因。

其他回答

对我来说很简单,我只需要在“Windows服务”中手动启动服务。MSC在CMD trompt)。 我的服务名称是:OracleServiceXXXXX。

我有一个案例,我使用DBMS,我必须完成一个数据库连接表单。

我把SID放入数据库字段,在下拉框中,在字段旁边,我有“服务名称”值而不是“SID”值。 (通常我不使用Oracle数据库,所以我没有意识到差异)

这就是我得到错误消息的原因。

在我的例子中,数据库已经耗尽了磁盘空间。这导致它没有反应。一旦我解决了这个问题,一切都恢复正常了。

我解决了这个问题在我的linux环境更新我的机器的IP在/etc/hosts文件。

您可以验证您的网络IP (inet end.):

$ifconfig

查看您的IP是否与/etc/hosts文件匹配:

$cat /etc/hosts

如果需要,编辑/etc/hosts文件:

$sudo gedit /etc/hosts

Bye.

对我来说,这是由于使用动态ipaddress安装造成的。我用一个静态ipaddress重新安装了Oracle,然后一切都好了