在进行Oracle开发的时候,碰到了这样一个稀奇古怪的问题:
每次连接数据库都不成功,并且在应用程序目录下的sqlnet.log中有这样的记录:
Fatal NI connect error 6413, connecting to:
(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=mac)(PORT=1521)))(CONNECT_DATA=(SID=Oracle816)(SERVER=DEDICATED)(CID=(PROGRAM=D:\AppDev\(test)\sample.exe)(HOST=MAC)(USER=administrator))))
VERSION INFORMATION:
TNS for 32-bit Windows: Version 8.1.6.0.0 - Production
Time: 29-3月 -2003 22:04:43
Tracing not turned on.
这个问题我在google上没有找到答案(倒是有个日文的论坛讨论这个问题,不过我看不懂日文)
后来发现问题原来是应用程序的路径名中含有括号造成的,因为在tnsname中,各项参数都是用括号给括起来的,路径或文件名中如果含有括号(左括号没关系,是右括号就会有问题),就会使tnsname的解析出现问题,将括号去掉就一切正常了