共计 928 个字符,预计需要花费 3 分钟才能阅读完成。
用 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 客户端的路径)。
更多 Oracle 相关信息见Oracle 专题页面 https://www.linuxidc.com/topicnews.aspx?tid=12
: