前言:

用Navicat连接Oracle数据库时候,报了ORA-12514:TNS:listener does not currently know of service requested in connect descriptor这个错误,也是一脸懵逼,经过查询资料网上有很多说需要修改什么文件,也许他们的场景的确需要这样解决,但是我的不需要。所以这篇文章的解决办法适不适合你,先看我们的情景是否类似或基本一致。

首先我的情况是1.同事们通过其他数据库可视化软件已经连接到Oracle数据库 2数据库是测试环境上的 

以上两点得出的结果就是,数据库本身的设置和供外访问的ip和端口是没有问题的,因为已经有人连接上了。所以这时候你要判断连接失败的原因只能从连接参数上找问题啦。

正文:

复现出错的过程:

一、我打开Navicat连接数据库,选择新建数据库连接的类型

ORA-12514:TNS:listener does not currently know of service requested in connect descriptor_开发问题

二、填写自己的连接属性

ORA-12514:TNS:listener does not currently know of service requested in connect descriptor_开发问题_02

三、然后点击连接测试报错

ORA-12514:TNS:listener does not currently know of service requested in connect descriptor_开发问题_03

解决方案:

一、我反复找同事确认连接ip和端口还有账号和密码,发现都没有错,但是却忽略了一个默认选项,就是服务名或SID。

你可以让同事去查看一下tnsnames.ora文件里的这个数据库服务名是不是默认的,我查看发现不是ORCL而是另外的名字,我修改成另外的名字后,重新连接,就成功啦。

ORA-12514:TNS:listener does not currently know of service requested in connect descriptor_经验分享_04

 

ORA-12514:TNS:listener does not currently know of service requested in connect descriptor_经验分享_05

总结:

我是阿达,一名喜欢分享知识的程序员,时不时的也会荒腔走板的聊一聊电影、电视剧、音乐、漫画,这里已经有273位小伙伴在等你们啦,感兴趣的就赶紧来点击关注我把,哪里有不明白或有不同观点的地方欢迎留言。

今天周五,周末要来了,那我就推荐一部高分电影吧《调音师》,不要以为是个音乐剧,其实是个犯罪悬疑片,紧张刺激,剧情反转,适合搂着女朋友或者基友看。