首页 > 代码库 > 【Oracle错误集锦】:ORA-12154: TNS: 无法解析指定的连接标识符

【Oracle错误集锦】:ORA-12154: TNS: 无法解析指定的连接标识符

相信这个错误大家都不陌生,仅仅要安装使用过Oracle的预计都遇到过这个问题,一般出如今用PL/SQL连接Oracle数据库的时候发生的。
导致这个错误的原因以及解决方式都是多种多样的,我也是三番五次的遇到过这个问题,今天就把ORA-12154的解决方式总结一下。


1、首先查看server端,Oracle服务和监听服务是否启动。Win+R,输入services.msc,查看服务。检查下图中的两个服务是否正在执行。


技术分享


2、通过Sql Plus连接数据库试试,排除服务端的错误。假设Sql Plus连接能成功,那就说明安装的过程没有错误,数据库可以正常使用。错误出在一些配置里。

技术分享


3、假设sqlplus能成功登录。证明服务端没有问题。那么就開始排查配置。先查看Oracle安装文件夹:D:\app\NiuNiu\product\11.2.0\dbhome_1\NETWORK\ADMIN 下的tnsnames.ora文件是否配置了对应的连接描写叙述符。也就是查看是否配置了新的网络服务。


详细怎么配置见博客:http://blog.csdn.net/u010028869/article/details/46652165

另外,要注意网络服务名。如DRP之前不能有空格,而且两个服务之间可以有空行,但也不能有空格符。

可能有了空格会识别不了吧。

例如以下图所看到的:

技术分享

技术分享


4、查看环境变量-系统变量Path。是否有Oracle安装文件夹:D:\app\NiuNiu\product\11.2.0\dbhome_1\bin; 这个变量是安装Oracle的时候自己主动生成的。保险起见最好查看一下。


技术分享


5、假设安装的是Oracle 10g版本号。则打开PL/SQL,取消登陆后,在PLSQL Developer工具栏中找到“Tools—>Preferences”,在Oracle的Connection节点中找到Oracle Home选择OraClient10g_home1。保存后关闭PLSQL Developer,例如以下图所看到的:


技术分享


6、假设是Oracle11g ,则须要检查是不是安装了Oracle 32位client、是否配置了对应的环境变量。详细配置见文章:http://blog.csdn.net/u010028869/article/details/46647479



7、假设以上方法尝试后均不见效果。那就尝试更换plsql的版本号,有可能下载plsql和安装的Oracle数据库版本号上不兼容。



临时想到的解决方式就这些。希望可以帮到大家!

<script type="text/javascript"> $(function () { $(‘pre.prettyprint code‘).each(function () { var lines = $(this).text().split(‘\n‘).length; var $numbering = $(‘
    ‘).addClass(‘pre-numbering‘).hide(); $(this).addClass(‘has-numbering‘).parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($(‘
  • ‘).text(i)); }; $numbering.fadeIn(1700); }); }); </script>

【Oracle错误集锦】:ORA-12154: TNS: 无法解析指定的连接标识符