同事问在tnsnames.ora 新增加了一个服务名,别人可以连上库,他确连不上数据库。
错误信息是:ORA-12154: TNS: 无法解析指定的连接标识符
我说你演示一下,他从飞鸽的聊天记录里拷贝出了那段
RESERVETEST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.4.52)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = RESERVEDB)
)
)
一眼便看出了问题,是空格搞定鬼。
服务名的配置必须顶格写,不能有空格。
去掉空格后,测试ok。经常遇到开这种问题,记录一下。
RESERVETEST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.4.52)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = RESERVEDB)
)
)
如果手工修改tnsnames.ora有问题。可以用netca来配置,会更加方便。
C:/Users/Liangwei>netca
Oracle Net Services 配置:
netca->本地网络服务名配置->添加 ->输入服务名(RESERVEDB)->选择协议一般是tcp
主机名10.1.4.52 ,默认使用1521端口, 进行测试 --> 网络服务 RESERVETEST
添加好后,会自定在tnsnames.ora中增加如下内容,一般不会出错。
RESERVETEST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.4.52)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = RESERVEDB)
)
)