请问tnsnames.ora文件中的数据库别名为什么要加符号“.”才可以,谢谢
比如:STEPDEVE 这个就不可以
STEPDEVE =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.3.1.29)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = STEPDEVE)
)
)
比如STEPDEVE_1.1 这个就可以,只要STEPDEVE_1.1 中有一个符号“.”就可以,这是为什么?谢谢
STEPDEVE_1.1 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.3.1.29)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = STEPDEVE)
)
)
------解决方案--------------------对于tnsname别名,不存在你说的这种情况,几乎可以输入任何合法的字符作为tnsname别名(当然没有具体研究过哪些字符不合法,哪些合法,但你说的两种形式都可以,这是可以确定的).针对你的问题,你仔细查一下tnsnames.ora文件里第一个配置最顶行STEPDEVE前面是不是有空格字符串,
如果有的话,连接很难成功.
------解决方案--------------------STEPDEVE =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.3.1.29)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = STEPDEVE)
)
)
为什么不可以?我看了我的tnsnames.ora文件我觉得没有什么问题,以下是我的
OEMREP =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = MYBILL)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = OEMREP)
)
)
------解决方案--------------------不会吧 我的TNS就没有用“.”也能连接成功呢,是不是有什么特殊字符啊
------解决方案--------------------我怀疑你是不是同时把service_name=STEPDEVE也给改了,因为
ORA-12154: TNS:could not resolve service name,那个service_name是不能随便改的,
只有最顶行的那个名称才可以以任何形式的字串存在的.