问题描述:html
一、我公司开发平台系统用VS2010\2012\2013 + ODP.NET(Oracle.DataAcess.DLL)来访问远程数据库ORACLE 11G R2;web
二、本人电脑OS为WIN10 64BIT,开发工具为Visual STUDIO 2013,打开专案获取最新版本,编译后,运行报错一,如图一:数据库
三、通过各类测试,没有解决这个问题,带出了新的问题,如图二:windows
问题解答:oracle
一、针对问题一,刚开始觉得是没有安装ORACLE CLIENT,结果安装后,问题依旧;工具
二、网上搜索,有的说没有安装ODP.NET,安装后,问题依旧;开发工具
三、继续网上搜索,有的说ODP.NET版本不正确,登陆ORACLE官网下载最新的ODP.NET,问题依旧;测试
四、怀疑是VS2013版本问题;卸载VS2013,安装VS2012,问题依旧;哈哈。。。htm
五、排除了VS问题;继续网上搜索,有人说查看GAC,在windows\assembly下,参考这个博客,blog
http://www.cnblogs.com/yjmyzz/archive/2011/04/19/2020793.html ,没有效果;
六、怀疑是GAC下的文件版本不正确,删除GAC下的该Oracle.DataAccess.DLL后,结果引出新的问题二;
七、郁闷中...
八、仔细查看了web.config文件,看到咱们的项目访问ORACLE 有两种方式,一种用"System.Data.OracleClient",另外一种是Oracle.DataAccess.Client,
因此,Oracle Client仍是要安装,而且tnsnames.ora配置为与WEB.CONFIG中一致,测试客户端链接数据库成功;
九、OK,继续编译执行,仍是报第二个错误,缺乏Oracle.DataAccess.DLL,果断下载ODTwithODAC121021(http://pan.baidu.com/s/1eQm5Org 能够下载),解压安装后,系统自动将tnsnames.ora配置为和oracle client_1中一致;从新获取最新代码,编译,执行,成功!!
结论:
一、问题不可怕,虽然,我断断续续处理了3天;最终仍是解决了;
二、处理问题前,须要冷静思考一下,再动手,省得作一些冤枉工。
三、分享给各位须要的朋友,但愿可以帮到你们。