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