ORA-12154:TNS:⽆法解析指定的连接标识符相信使⽤过Oracle数据库的⼈⼀定碰到过“ORA-12154: TNS: ⽆法解析指定的连接标识符”错误,我在此做⼀个⼩⼩的总结。
在程序中连接Oracle数据库的⽅式与其他常⽤数据库,如:MySql,Sql Server不同,这些数据库可以通过直接指定IP的⽅式连接,但是Oracle则需要通过Oracle客户端配置⽹络服务名的⽅式来连接。否则就会出现“ORA-12154: TNS: ⽆法解析指定的连接标识符”。配置Oracle 客户端详细步骤如下:
安装好Oracle客户端之后,在开始菜单中依次到“Oracle - OraClient10g_home1—>配置和移植⼯具—>Net Manager”并打开
(Win7,Win8⽤户如果没有取得Administrator账号登陆需要以管理员⽅式运⾏),依次展开“Oracle Net配置—>本地—>服务命名”点击左
侧“加号”配置新的⽹络服务
最后,点击“下⼀步”完成即可,如果不知道或者忘记Oracle服务名可以通过查看服务获得,⽐如我这⾥配置的主机名是我本机,在我的电脑服务中到oracle相关的服务
通过上⾯的服务名称,可以看出我安装的服务名就是“ORCL”,或者在服务端通过SQL Plus使⽤sys账号登陆,输⼊命令
show parameter service_name查看。
OracleDBConsoleORCL是Oracle⽹页端管理⼯具的服务,访问地址⼀般为“127.0.0.1:1158/em/console/logon/logon”,如果不习惯⽤这个来管理数据库可以不⽤启动。
OracleJobSchedulerORCL是管理Oracle中计划任务的,⼀般不⽤启动。
OracleOraDb10g_home1iSQL*Plus是SQL Plus的服务,如果不习惯在命令⾏下⾯操作数据库,可以不⽤启动。OracleServiceORCL,OracleOraDb10g_home1TNSListener都需要开启,前者是主服务,后者是监听服务。
当在Oracle客户端中配置好Net Manager中配置好服务后就可以通过我们配置的⽹络服务名访问Oracle数据库了,此配置实质想
D:\Oracle\product\10.2.0\client_1\NETWORK\a中增加了⼀⾏配置(由于我的Oracle是安装在D盘Oracle⽬录中,具体路径根据安装时选择的路径⽽定)。
# a Network Configuration File: d:\Oracle\product\10.2.0\client_1\NETWORK\a
# Generated by Oracle configuration tools.win7管理员身份运行
ORCL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = ORCL)
)
)
如果在同⼀台电脑上⾯同时安装了Oracle客户端和服务端,那么在服务端的安装⽬录中也会存在同样的配置⽂件
D:\Oracle\product\10.2.0\db_1\NETWORK\a,在这种情况下如果我们配置好了客户端Net Manager然后连接Oracle数据库,可能会出现“ORA-12154: TNS: ⽆法解析指定的连接标识符”这时,你就应该怀疑,我到底访问的是哪个路径下的配置⽂件呢?此时可以使⽤tnsping命令
如果你是在客户端Net Manager中配置的⽹络服务,但是此时解析出来的使⽤参数⽂件却是
D:\Oracle\product\10.2.0\db_1\NETWORK\a,那么我想你应该明⽩了。这种情况有两种解决办法:第⼀:在服务端的Net Manager也配置相同的⽹络服务,或者直接拷贝
D:\Oracle\product\10.2.0\client_1\NETWORK\a中的配置到
D:\Oracle\product\10.2.0\db_1\NETWORK\a,每次配置了新的⽹络服务你都需要这么做,如果不想这么⿇烦那就使⽤第⼆种解决办法。
第⼆:修改系统环境变量Path值,将D:\Oracle\product\10.2.0\client_1\bin;路径移⾄D:\Oracle\product\10.2.0\db_1\bin;前⾯即可⼀劳永逸。
注意:造成以上这种情况出现的原因是:在⼀台电脑上同时安装了oracle客户端和数据库服务,并且是先安装客户端,再安装数据库服务造成的,如果先安装数据库服务,再安装客户端就不会出现这种情况了。
根据以上⽅式配置完oracle后,相信在程序中就可以正常连接oracle数据库了。
当我安装好PLSQL Developer软件后登陆时任然出现了“ORA-12154: TNS: ⽆法解析指定的连接标识符”,如果是Win7,Win8⽤户甚⾄可以会出现弹出⼀个⽩框的情况,这时需要以管理员⾝份运⾏PLSQL Developer,并且确保你的PLSQL Developer是读取的oracle客户端配置,直接取消登陆,在PLSQL Developer⼯具栏中到“Tools—>Preferences”,在Oracle的Connection节点中到Oracle Home选择OraClient10g_home1,保存后关闭PLSQL Developer就可以正常登陆了。
需要注意的是,在安装PLSQL Developer时不能安装在带有括号的⽬录中,如64bit系统的Program Files (x86)⽬录,就会出现⽆论你怎么设置,它依然不停的弹出“ORA-12154: TNS: ⽆法解析指定的连接标识符”。同样的问题也会出现在其他Oracle数据库管理软件中,⽐如Toad for Oracle
“ORA-12154: TNS: ⽆法解析指定的连接标识符”是使⽤Oracle数据库的新⼿遇到的⽐较常见的问题之⼀,只要我们了解了它的⼯作⽅式,冷静排查,相信很容易就能够到问题的解决办法的。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论