在进行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上没有找到答案(倒是有个日文的论坛讨论这个问题,不过我看不懂日文Fatal NI connect error 6413的解决办法 http://www.itpub.net/thread-107518-1-1.html-LMLPHP
后来发现问题原来是应用程序的路径名中含有括号造成的,因为在tnsname中,各项参数都是用括号给括起来的,路径或文件名中如果含有括号(左括号没关系,是右括号就会有问题),就会使tnsname的解析出现问题,将括号去掉就一切正常了

05-01 23:29