Oracle出现ora-12154无法解析指定连接标识符的解决方法
相信使用过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网页端管理工具的服务,访问地址一般为“http://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\admin\tnsnames.ora中增加了一行配置(由于我的oracle是安装在d盘oracle目录中,具体路径根据安装时选择的路径而定)。
# tnsnames.ora network configuration file: d:\oracle\product\10.2.0\client_1\network\admin\tnsnames.ora # generated by oracle configuration tools. 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\admin\tnsnames.ora,在这种情况下如果我们配置好了客户端net manager然后连接oracle数据库,可能会出现“ora-12154: tns: 无法解析指定的连接标识符”这时,你就应该怀疑,我到底访问的是哪个路径下的配置文件呢?此时可以使用tnsping命令
如果你是在客户端net manager中配置的网络服务,但是此时解析出来的使用参数文件却是d:\oracle\product\10.2.0\db_1\network\admin\sqlnet.ora,那么我想你应该明白了。这种情况有两种解决办法:
第一:在服务端的net manager也配置相同的网络服务,或者直接拷贝d:\oracle\product\10.2.0\client_1\network\admin\tnsnames.ora中的配置到d:\oracle\product\10.2.0\db_1\network\admin\tnsnames.ora,每次配置了新的网络服务你都需要这么做,如果不想这么麻烦那就使用第二种解决办法。
第二:修改系统环境变量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数据库的新手遇到的比较常见的问题之一,只要我们了解了它的工作方式,冷静排查,相信很容易就能够找到问题的解决办法的。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
上一篇: oracle逻辑运算符与其优先级简介
下一篇: python实现自动清理文件夹旧文件
推荐阅读
-
Oracle 10g ORA-12154 TNS:无法解析指定的连接标示符
-
ORA-12154: TNS: 无法解析指定的连接标识符
-
ora-12154:tns:无法解析指定的连接标识符
-
Oracle 输入帐号登录报错ORA-12154:TNS:无法解析指定的连接标识符问题解决
-
Oracle 10g ORA-12154 TNS:无法解析指定的连接标示符
-
ORA-12154 TNS 无法解析指定的连接标识符
-
plsql登录 时候出现 ORA-12154:TNS:无法解析指定的连接标识符
-
PL/SQL无法连接ORACLE,提示ORA-12154:TNS:无法解析指定的连接标识符怎么解决?
-
ORA-12154TNS无法解析指定的连接标识符
-
Oracle连接出现ora-12154无法解析指定的连接标识符