【解决方法】win7 x64 vs中sql语句连接 ora-12154:tns:无法解析指定的连接标识符

先吐槽:win7 x64比较特殊,很多地方都很特殊,所以装很多软件都废点劲。

背景:

操作系统:win7 x64

开发环境:VS2008

数据库:OracleDB11gx64, Oracle_Client11gx86, PL/SQL9.0.6

如果是用PL/SQL或者client连接的时候,出现上述异常,请绕路Google查询其他解决方法,大把的。

在用vs连接Oracle的过程中,总是出现【无法解析指定连接标识符】的错误,查了很久也不知道什么问题,用PLSQL连接没有问题,只是在代码中连接出现问题。

解决方法:


重新配置部署平台。步骤如下图:




【解决方法】win7 x64 vs中sql语句连接 ora-12154:tns:无法解析指定的连接标识符_第1张图片


【解决方法】win7 x64 vs中sql语句连接 ora-12154:tns:无法解析指定的连接标识符_第2张图片




最后说一下问题原因(个人推测):

开始我也很抓狂,找了半天问题,也不知道个所以然来。

后来想到可能又是操作系统的问题,因为我在装Oracle的时候也是遇到了些问题。

从操作系统上下功夫,那就是VS的发布平台的问题了。

我的Oracle Database装的是x64版本,没有在其中设置Listener和服务等配置信息。

我的Oracle Client装的是x86版本,而我是在Oracle的Client中配置的Listener等配置信息。

但我的VS中选择的却是Any CPU(默认选择),我的电脑是64位的,所以,程序可能会默认调用DB(64位)中的配置信息,这我是没配置过的;而不是调用我配置过的32位的client的配置信息。所以,会出现无法解析连接标识符。

所以,如果上面我的推测是对的话,在DB中添加一个listener也应该是行得通的。

PS:以上原理纯属个人推测,如果哪位朋友知道确切的问题原因,欢迎大家共同交流。


你可能感兴趣的:(解决方法)