欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Oracle 输入帐号登录报错ORA-12154:TNS:无法解析指定的连接标识符问题解决

程序员文章站 2022-05-03 18:00:12
tns-03505:无法解析名称: 最近在安装完oracle developer suite之后,就无法登录,输入帐号登录发生错误:ora-12154:tns:无法解析指定的连接标帜符。 从网上查看...

tns-03505:无法解析名称:

最近在安装完oracle developer suite之后,就无法登录,输入帐号登录发生错误:ora-12154:tns:无法解析指定的连接标帜符。

从网上查看说一般是因为 配置文件中没有对应的实例名,然后我就输入c:/tnsping myoracle(我的ora实例名),查看tnsnames.ora和sqlnet.ora是否配置正确,结果报错,提示:tns-03505:无法解析名称 说明配置文件有误。

然后我就查看%oracle_home%/db_1/network/admin/tnsnames.ora 文件,发现其中包含我需要登录的实例名。我在尝试tnsping命令,发现其查看到的参数文件sqlnet.ora不是我默认安装的oracle下面的sqlnet.ora,而是oracle developer suite目录下network文件夹下面的sqlnet.ora文件,把安装目录下的tnsnames.ora中的实例配置内容拷贝过去,ok.

myoracle =
(description =
    (address = (protocol = tcp)(host = 127.0.0.1)(port = 1521))
    (connect_data =
      (server = dedicated)
      (service_name = myoracle)
    )
)

至于为什么会修改为使用那个目录下的参数文件,还没有研究怎么处理。先记下处理过程

一个很难想到的引起ora-12154的原因

使用oracleclient.oracleconnection时(我连的是oracle 9i,其他版本未知),如果你的执行目录太长或者有括号等(未考察有些什么符号),那么即使你的服务名是对的,也会引起ora-12154问题“tns: 无法处理服务名”,当出现这个问题时,请也考虑这个原因。