我在TNS-12560的兔子洞里。
我正在使用Windows 7计算机。我有X86&已安装X64版本的Oracle客户端。数据库位于远程计算机上。我可以使用TNSPING,SQLPLUS,SQLDEVELOPER来使用各种TNSNAMES.ORA文件到达DB并且没有任何问题。
我正在使用VS2008开发X86 VB.NET程序(也尝试了使用VS2010的类似结果的不同程序)。我在我的项目中使用Oracle.DataAccess.dll X86。 VS2008中的配置是X86,我已经改变了我在系统上的路径,首先拥有X86 oracle路径。
当我运行TNSPING时,它指向X86路径的SQLNET.ORA。当我尝试登录数据库时,我在SQLNET.LOG文件中获得以下内容;
TNS-12560: Message 12560 not found; No message file for product=NETWORK, facility=TNS
ns secondary err code: 0
nt main err code: 530
TNS-00530: Message 530 not found; No message file for product=NETWORK, facility=TNS
nt secondary err code: 38
nt OS err code: 0
我打开了跟踪,在跟踪文件中,我注意到它引用了其他一个(X64)客户端主文件夹;
2017-01-11 13:25:36.744480 : Attempted load of system pfile source C:\app\paul\product\11.2.0\client_2\network\admin\sqlnet.ora
2017-01-11 13:25:36.744535 : Parameter source loaded successfully
TNSPING使用x86文件夹的地方;
C:\>tnsping XXXX
TNS Ping Utility for 32-bit Windows: Version 11.2.0.1.0 - Production on 11-JAN-2
017 12:59:33
Copyright (c) 1997, 2010, Oracle. All rights reserved.
Used parameter files:
C:\app\paul\product\11.2.0\client_x86\network\admin\sqlnet.ora
这让我相信它正试图混合X86和X64组件,但我不知道它在哪里控制路径。
我不知道如何解释的跟踪中唯一的其他错误内容是;
2017-01-11 13:25:36.760176 : nserror:nsres: id=0, op=65, ns=12560, ns2=0; nt[0]=530, nt[1]=38, nt[2]=0; ora[0]=0, ora[1]=0, ora[2]=0
2017-01-11 13:25:36.760189 : nsopen:unable to open transport
所以,我在兔子洞里,需要一些帮助来找到一张地图才能离开。任何有指针的人都会得到奖励"大大的#34; (硬币短语)。