VS2013中用ODP.NET访问ORACLE 11G R2

问题描述:

1、我公司开发平台系统用VS201020122013 + ODP.NET(Oracle.DataAcess.DLL)来访问远程数据库ORACLE 11G R2;

2、本人电脑OS为WIN10 64BIT,开发工具为Visual STUDIO 2013,打开专案获取最新版本,编译后,运行报错一,如图一:

3、经过各种测试,没有解决这个问题,带出了新的问题,如图二:

问题解答:

1、针对问题一,刚开始以为是没有安装ORACLE CLIENT,结果安装后,问题依旧;

2、网上搜索,有的说没有安装ODP.NET,安装后,问题依旧;

3、继续网上搜索,有的说ODP.NET版本不正确,登录ORACLE官网下载最新的ODP.NET,问题依旧;

4、怀疑是VS2013版本问题;卸载VS2013,安装VS2012,问题依旧;哈哈。。。

5、排除了VS问题;继续网上搜索,有人说查看GAC,在windowsassembly下,参考这个博客,

http://www.cnblogs.com/yjmyzz/archive/2011/04/19/2020793.html ,没有效果;

6、怀疑是GAC下的文件版本不正确,删除GAC下的该Oracle.DataAccess.DLL后,结果引出新的问题二;

7、郁闷中...

8、仔细查看了web.config文件,看到我们的项目访问ORACLE 有两种方式,一种用"System.Data.OracleClient",另一种是Oracle.DataAccess.Client,

所以,Oracle Client还是要安装,并且tnsnames.ora配置为与WEB.CONFIG中一致,测试客户端连接数据库成功;

9、OK,继续编译执行,还是报第二个错误,缺少Oracle.DataAccess.DLL,果断下载ODTwithODAC121021(http://pan.baidu.com/s/1eQm5Org 可以下载),解压安装后,系统自动将tnsnames.ora配置为和oracle client_1中一致;重新获取最新代码,编译,执行,成功!!

结论:

1、问题不可怕,虽然,我断断续续处理了3天;最终还是解决了;

2、处理问题前,需要冷静思考一下,再动手,免得做一些冤枉工。

3、分享给各位需要的朋友,希望能够帮到大家。

原文地址:https://www.cnblogs.com/BrianLee/p/4706149.html