由于频繁换项目,所以数据库的tnsnames.ora文件要经常修改。
但是修改tnsnames.ora配置文件后,会碰到一个问题。
就是PL/Sql连数据库的时候 会报一个:无法发现监听的错误。
貌似配置文件修改的有问题。看下配置也没什么问题。
最蠢得办法就是只留一个服务,然后就可以用了。
今天别人给我指出了问题的所在。如配置文件如下:
# tnsnames.ora Network Configuration File: F:/oracle/product/10.2.0/client_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.
sinotran=
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.0.96)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ebusiness)
)
)
sinotran2=
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.0.52)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = sinotran)
)
)
问题的所在就是多一个空格的原因。
正如JAVA中一些对空格或中文的不支持问题,搞的一些麻烦莫名其妙。
或许自己还是不够细心啊。
问题的所在就是在新的服务前面多了一个空格
sinotran2=
sinotran2=
这两个是不一样的。
如配置注意事项:
sinotran2=
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.0.52)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = sinotran)
)
)
sinotran这个是服务名,跟服务端的配置有关。
sinotran2 是标示符。跟服务端的配置无关。