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