12154: TNS: 无法解析指定的连接标识符解决

用PL/SQL Developer连接公司Oracle数据库,登录时出现如下错误信息:ORA-12154: TNS: 无法解析指定的连接标识符,(有时可能不会出现错误对话框,但也连不上,多试几次都会弹出如下图的错误对话框)。

CB(H]G0}((09($L]39ALY$4

1. 检查服务

出现这种问题,首先我们想到的是检查服务有没有问题OracleOraDb11g_home2TNSListener。在运行中输入services.msc,打开服务窗口,看看OracleOraDb11g_homeTNSListener这个服务是否正在运行,如果没有运行,则启动。

2. 使用SQL PLUS测试连接。

如果还有问题,我们使用SQL PLUS测试是否能够连接。运行输入cmd,在命令提示符窗口中输入

sqlplus sys/密码@数据库SID as sysdba

如:

sqlplus sys/abc123@orcl as sysdba

如果可以连接,问题就好办了,说明我们数据库实例是没问题的,问题应该出在oracle客户端和pl/sql developer的配置上。

3. 检查tnsnames.ora配置

在客户端的安装路径下,我的是D:\oracle\instantclient_12_1\NETWORK\ADMIN,创建一个文件,名为:tnsnames.ora,如果之前创建过了,则直接打开住里追加就行了。在tnsnames.ora中追加如下内容:

SID名 =

(DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1522))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = SID名)
  )

注意SID名前面不能有任何其他字符,尤其是空格!

保存后,看看能不能登录。如果还不行,在pl/sql developer的登录窗口中点“取消”按钮,进入pl/sql developer后,执行“工具”-> “首选项” -> 连接,按下图所示进行配置(其中oracle主目录就是oracle客户端的路径)。

QQ截图20180109180225

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/4f173a6c4ea380bf8bb87a4641a102a4.html