程序连接远程数据库报如下错误:
Fatal NI connect error 12560, connecting to:
(DESCRIPTION=(ADDRESS=(PROTOCOL=BEQ)(PROGRAM=oracle)(ARGV0=oracleORCL)(ARGS='(DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))'))(CONNECT_DATA=(SID=ORCL)(CID=(PROGRAM=C:/Program Files/cicc/FUTtest/期货风险管理.exe)(HOST=BJ-64FB52X-D620)(USER=chenbo))))
VERSION INFORMATION:
TNS for 32-bit Windows: Version 10.2.0.1.0 - Production
Oracle Bequeath NT Protocol Adapter for 32-bit Windows: Version 10.2.0.1.0 - Production
Time: 15-10月-2008 14:28:57
Tracing not turned on.
Tns error struct:
ns main err code: 12560
TNS-12560: TNS: 协议适配器错误
ns secondary err code: 0
nt main err code: 530
TNS-00530: 协议适配器错误
nt secondary err code: 2
nt OS err code: 0
在命令行执行 />tnsping 服务名 结果如下:
D:/Documents and Settings/chenbo>tnsping futdb
TNS Ping Utility for 32-bit Windows: Version 10.2.0.1.0 - Production on 15-10月-
2008 16:44:53
Copyright (c) 1997, 2005, Oracle. All rights reserved.
已使用的参数文件:
D:/oracle/product/10.2.0/client_1/network/admin/sqlnet.ora
TNS-03505: 无法解析名称
看来是参数文件的问题,找到D:/oracle/product/10.2.0/client_1/network/admin/sqlnet.ora文件,打开和能正常登录的机器上的该文件比较,原来是少了域配置,在该文件中加入如下行即可:
NAMES.DEFAULT_DOMAIN = CICC.GROUP
问题是因为我安装了两个客户端,我在D:/oracle/ora81/network/admin/sqlnet.ora文件中加入了 NAMES.DEFAULT_DOMAIN = CICC.GROUP ,而没有在D:/oracle/product/10.2.0/client_1/network/admin/sqlnet.ora文件中加入相应行造成的。