连接远程服务器提示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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • bool函数

    bool函数bool函数:(非原创)BOOL是布尔型变量,也就是逻辑型变量的定义符,类似于float、double等,只不过float定义浮点型,double定义双精度浮点型。在objective-c中提供了相似的类型BOOL,它具有YES值和NO值。布尔型变量的值只有真(true)和假(false),可用于逻辑表达式,也就是“或”“与”“非”之类的逻辑运算和大于小于之类的关系运算,逻辑表达式运算结果为真…

    2022年6月14日
    41
  • winscp链接linux网络错误被决绝,解决了winscp连接不上的问题

    winscp链接linux网络错误被决绝,解决了winscp连接不上的问题在windows系统和虚拟机装的linux上互传文件时,可以用winscp。第一次用winscp时,老是连接不到linux上。但是两个系统都可以上网,还能ping通。还以为是端口22被什么进程占用。我的是windows2003的,虚拟机是redhatlinux9.0的。昨天下午又试试了,就解决这个问题啦。2.把linux里的防火墙给关了。步骤:在终端输入setup,在防火墙选择处,选择“无防…

    2022年9月15日
    4
  • 浏览器如何查看session_获取浏览器的cookie

    浏览器如何查看session_获取浏览器的cookie前言使用chrome查看cookiechrome版本73.0.3664.0(开发者内部版本)(32位)方法1,使用chrome访问目标网站2,在chrome的地址栏中查看网站信息https是这样的:http(没有s)是这样的:3,在弹出的菜单中选择cookie4,选择想要查看的cookie进行查看……

    2025年6月22日
    2
  • 如何自己开发漏洞扫描工具视频_系统漏洞扫描工具有哪些

    如何自己开发漏洞扫描工具视频_系统漏洞扫描工具有哪些扫描器的设计思想是:灵活,易扩展,易修改,灵活的意思就是可单独执行专项漏洞的扫描,也可以批量执行集成的所有漏洞探测模块;易扩展的意思就是,新的漏洞检测模块可清晰简单的集成进扫描器;易修改,对各个漏洞扫描模块可根据特殊情况修改探测逻辑。扫描器的使用扫描器下载地址:https://gitee.com/samllpig/SafeTool-51testing工具的详细安装教程:http://quan.51testing.com/pcQuan/lecture/117先打开我们的扫描器看下界面:..

    2025年11月6日
    3
  • 利用java生成uuid

    利用java生成uuid在实际项目中,我们可能想生成一个随机的而且可以保证唯一的标识,比如在给图片命名时,这时就可以采用uuid来生成随机字符串,这个随机字符串基本上是不会出现重复的。什么是UUIDuuid,就是通用唯一识别码的缩写。它的组成比较复杂,是基于当前时间(纳秒级时间)、计数器、硬件标识(通常是MAC地址)以及随机数等组合来生成的,一般情况下,不会生成重复的UUID(重复几率非常小,据概率估计,若每秒产生10亿笔UUID,100年后只产生一次重复的机率是50%),所以,我们大可不必考虑发生重复的问题。它有很多不

    2022年9月22日
    1
  • stm32f1时钟分析

    stm32f1时钟分析

    2021年8月18日
    77

发表回复

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

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