Visual Studio 2015 使用ODP.net进行EF开发

刚转了新公司,以前公司都是用VS+MSSQL作为开发工具的

现在新公司由于数据库是Oracle,而且新公司比较小规模,开发团队也没有什么规范

访问数据库的方式一直使用ADO.net的DataTable、DataAdapter、DataConnect的方式

没有用其他的ORM框架,就自己研究了一下Oracle+EF的开发

一开始上网就直接找到了Oracle官网的ODP.net

Oracle Data Access Components (ODAC) for Windows Downloads

32-bit ODAC with Oracle Developer Tools for Visual Studio Downloads
32-bit ODAC Xcopy and NuGet Downloads
64-bit ODAC Downloads - Oracle Universal Installer and Xcopy
Oracle Developer Tools for Visual Studio 2015 - MSI Installer
Oracle Developer Tools for Visual Studio 2013 - MSI Installer

看到以上的选项,我看都不看,就直接下载了

Oracle Developer Tools for Visual Studio 2015 - MSI Installer

然后就是建立项目,选择需要访问的关系表(我本机有同事帮忙安装了Oracle客户端,设置了连接Oracle的TNS),建立实体,一切都看似很顺利

到了最后执行代码的时候,却出现提示错误:指定的存储区提供程序在配置中找不到,或者无效。

网上找了一堆有关这个错误的Blog,基本都是指向了:GAC安装错误(版本、x86x64问题等)

然后就不停尝试安装

64-bit ODAC Downloads - Oracle Universal Installer and Xcopy

什么gacutil查看都得出了Blog里面正确的结果,但是还是提示这个错误

最后,我就直接新建了一个虚拟机(Win7x64),安装vs2015(update1)社区版,然后就是安装不同的odp.net进行尝试

惊喜出现了,我直接安装

32-bit ODAC with Oracle Developer Tools for Visual Studio Downloads

里面的ODTwithODAC121024.zip

Oracle官网上面写得很清晰,这个安装包包括了:

Oracle Developer Tools for Visual Studio 12.1.0.2.4
Oracle Data Provider for .NET 4 12.1.0.2.0
Oracle Data Provider for .NET 2.0 12.1.0.2.0
Oracle Providers for ASP.NET 4 12.1.0.2.0
Oracle Providers for ASP.NET 2.0 12.1.0.2.0
Oracle Database Extensions for .NET 4 12.1.0.2.0 -- for upgrade only
Oracle Database Extensions for .NET 2.0 12.1.0.2.0 -- for upgrade only
Oracle Provider for OLE DB 12.1.0.2.0
Oracle Services for Microsoft Transaction Server 12.1.0.2.0
Oracle ODBC Driver 12.1.0.2.0
Oracle SQL*Plus 12.1.0.2.0
Oracle Instant Client 12.1.0.2.0

其实我走的弯路,主要应该是因为我的机器有人帮我安装了Oracle客户端

如果有像我一样,什么都没有的情况下,其实直接下载这个【32-bit ODAC with Oracle Developer Tools for Visual Studio Downloads】就可以了

里面包含了最重要的两样:

1、Oracle Instant Client 12.1.0.2.0

2、Oracle Data Provider for .NET

在安装这个工具的时候,会将所有的EF所需要的环境都设置好

我在自己的电脑上,重新安装一次也是不行,所以我最终也没有找到怎么解决这个问题的办法,希望最终能解决这个问题的朋友,能把方法写成Blog,然后把Blog的地址发一下给我参考,我邮箱:489427256 @ qq.com

原文地址:https://www.cnblogs.com/ZC_Mo-Blog/p/5252891.html