连接远程服务器提示ora 12154,EasyConnect出现ORA-12154(无法解析指定的连接标示符)错误的解决…

连接远程服务器提示ora 12154,EasyConnect出现ORA-12154(无法解析指定的连接标示符)错误的解决…今天在群里碰见了一个ORA-12154的问题,在此记录一下解决过程起因是群里面一个人问了他的Windows客户端采用easyconnect方式连接Oracle服务器的时候,报错如下:ORA-12154:TNS:无法解析指定的连接标示符最初的想法是在服务器端的listener没有相关的service_name来接收请求,不过他后来给出的截图表明,确实有相关的service_name来接收这个请求。…

大家好,又见面了,我是你们的朋友全栈君。

今天在群里碰见了一个ORA-12154的问题,在此记录一下解决过程

起因是群里面一个人问了他的Windows客户端采用easy connect方式连接Oracle服务器的时候,报错如下:

ORA-12154:TNS:无法解析指定的连接标示符

最初的想法是在服务器端的listener没有相关的service_name来接收请求,不过他后来给出的截图表明,确实有相关的service_name来接收这个请求。

而使用同样的easy connect语句,在另外一台服务器上,却是能够成功连接的。那么就说明是这台windows客户端的问题了

找了相关资料之后把问题锁定在了sqlnet.ora文件的一个参数上:

NAMES.DIRECTORY_PATH

查找文件找出这个文档的功能描述如下(具体可以参考:http://docs.oracle.com/cd/B19306_01/network.102/b14213/sqlnet.htm#sthref370):

Use the parameter NAMES.DIRECTORY_PATH to specify the order of the naming methods used for client name resolution lookups.

DEFAULT:

NAMES.DIRECTORY_PATH=(tnsnames, onames, hostname)

VALUES:

tnsnames                    local naming naming method

ldap                        directory naming naming method

ezconnect or hostname      easy connect naming or host naming method

CDS                        CDS external naming method

nis                        Network information service(NIS) external naming method

从上文的说明当中,可以看到的是,该参数是指定客户端的命名方法的

针对如上问题,做了下面这个实验:

现在在使用tnsnames和Easy Connect都能正常连接客户端上将NAMES.DIRECTORY_PATH参数修改为如下值:

NAMES.DIRECTORY_PATH = (TNSNAMES)

然后我们在使用Easy Connect的连接方式进行连接,会发现:

D:\>sqlplus mai/mai@192.168.0.123:1521/test

SQL*Plus: Release 10.2.0.3.0 – Production on 星期五 8月 2 17:42:12 2013

Copyright (c) 1982, 2006, Oracle.  All Rights Reserved.

ERROR:

ORA-12154: TNS: 无法解析指定的连接标识符

请输入用户名:

好吧,就是这样。这个时候如果使用tnsnames进行连接的话,是依旧可以正常连接的

我们如果将参数修改为:

NAMES.DIRECTORY_PATH = (TNSNAMES,EZCONNECT)

Easy Connect连接方式可以正常连接

总结,在默认情况下,即使我们不配置NAMES.DIRECOTRY_PATH参数的话,我们依然可以用easy connect的连接方式连接Server端的,不过如果出现配置错误或者客户端类似的异常情况的话,这不失是一种解决方式

相关阅读:

0b1331709591d260c1c78e86d0c51c18.png

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/161570.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Pycharm调试_pycharm 远程调试

    Pycharm调试_pycharm 远程调试动机一些bug由于本地环境和线上环境的不一致可能导致本地无法复现本地依赖和线上依赖版本不一致也可以导致一些问题有时一些bug跟数据相关,本地数据无法和线上数据一致有些三方平台会验证服务器的合法性或者异步回调结果,如微信支付,这时候本地无法测试如上所诉,要是有一个很方便调试远程服务器的方法,岂不美哉。通过PyCharm我们可以很方便地实现远程调试,下面详细介绍下PyCharm这个牛叉的功能。添加远程…

    2025年7月1日
    5
  • pycharm读取csv文件_csv文件python

    pycharm读取csv文件_csv文件pythonimportcsv#获取user.csv文件里面的内容classReadCsv():defread_csv(self):item=[]r=csv.reader(open(“../demoDemo/user.csv”,”r”))forcsv_iinr:item.append(csv_i)item=item[1:]#从第一行开始获取returni

    2022年8月28日
    8
  • Java程序员,到底要不要转行大数据?

    Java程序员,到底要不要转行大数据?前几天有个朋友在群里提问:如何看待大数据的未来?有必要转大数据方向吗?关于这个问题,谈谈我的思考。伴随公有云厂商的兴起,大数据的应用进入了2.0时代。传统大数据那种需要大量购买机器以及Hadoop发行商版本的时代一去不复返了,企业可以非常便利的按照自己的需要,在云端弹性的分配资源,并按照使用量付费。这使得大数据技术不但进入到了传统意义上的大中型企业,更是深入到了各行各业的小企业和创…

    2022年7月7日
    54
  • jQuery 文档操作 – remove() 方法

    jQuery 文档操作 – remove() 方法

    2021年10月17日
    73
  • Godot 2D 和 3D 游戏引擎[通俗易懂]

    Godot 2D 和 3D 游戏引擎[通俗易懂]Godot是一个全新开发的游戏引擎,其功能集类似知名的跨平台游戏引擎Unity,可用于开发PC、主机、移动和Web游戏。开发者引擎的2D和动画支持要强于Unity,表示在功能和特性上没有其它开源游戏引擎能相媲美。Godot引擎内置了类似Unity的编辑器,GUI工具包,2D/3D物理支持,支持OpenGLES2.0功能集的3D渲染器,易于学习的语言和API,支持用ASM.js或GoogleNativeClient输出HTML5代码,支持Linux、Windows和OSX开发平台…

    2022年5月25日
    45
  • linux 卸载jdk_linux环境变量文件

    linux 卸载jdk_linux环境变量文件1、检查系统jdk版本:2、检测jdk安装包:3、卸载openjdk:一开始选择了直接删除openjdk文件夹后面使用了这种简单明了快捷yumremoveopenjdk4、安装新的jdk:首先到jdk官网上下载你想要的jdk版本,下载到指定的文件夹下,我一般放在/usr/lib/java。官方下载越来越慢,可以考虑一些云服务商的镜像,如华为云:wgethttps://repo.huaweicloud.com/java/jdk/8u192-b12/jdk-8u192-lin

    2022年10月1日
    7

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号