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

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

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

sqlplus username/password@addressname[or host name]

我们已核实:

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

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


当前回答

我也有同样的问题。对我来说,就是写作

sqlplus myusername/mypassword@localhost

这样做使它连接到默认的服务名,我猜。

其他回答

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

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

我已经实现了下面的解决方法来解决这个问题。

我已经使用命令提示符设置了ORACLE_HOME (右键单击cmd.exe并以系统管理员身份运行)。 使用以下命令 设置oracle_home="到oracle home的路径" 进入“所有程序——> Oracle -ora home1——>配置迁移工具——> Net Manager——> Listener” 从下拉菜单中选择数据库服务。 全局数据库名和SID都设置为相同(在我的例子中是ORCL)。 设置“Oracle Home Directory”。

Oracle Net Manager窗口示例:

单击File并保存网络配置。

我只需要替换我的连接字符串

来自:

jdbc:oracle:thin:@localhost:1521:xe

To:

jdbc:oracle:thin:@localhost:1521:orcl

对于Dbeaver用户:尝试在连接设置中选择“SID”而不是“服务名称”。