先吐槽:win7 x64比较特殊,很多地方都很特殊,所以装很多软件都废点劲。
背景:
操作系统:win7 x64
开发环境:VS2008
数据库:OracleDB11gx64, Oracle_Client11gx86, PL/SQL9.0.6
如果是用PL/SQL或者client连接的时候,出现上述异常,请绕路Google查询其他解决方法,大把的。
在用vs连接Oracle的过程中,总是出现【无法解析指定连接标识符】的错误,查了很久也不知道什么问题,用PLSQL连接没有问题,只是在代码中连接出现问题。
解决方法:
重新配置部署平台。步骤如下图:
最后说一下问题原因(个人推测):
开始我也很抓狂,找了半天问题,也不知道个所以然来。
后来想到可能又是操作系统的问题,因为我在装Oracle的时候也是遇到了些问题。
从操作系统上下功夫,那就是VS的发布平台的问题了。
我的Oracle Database装的是x64版本,没有在其中设置Listener和服务等配置信息。
我的Oracle Client装的是x86版本,而我是在Oracle的Client中配置的Listener等配置信息。
但我的VS中选择的却是Any CPU(默认选择),我的电脑是64位的,所以,程序可能会默认调用DB(64位)中的配置信息,这我是没配置过的;而不是调用我配置过的32位的client的配置信息。所以,会出现无法解析连接标识符。
所以,如果上面我的推测是对的话,在DB中添加一个listener也应该是行得通的。
PS:以上原理纯属个人推测,如果哪位朋友知道确切的问题原因,欢迎大家共同交流。