由于频繁换项目,所以数据库的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 是标示符。跟服务端的配置无关。
