我们正在尝试使用针对Oracle Db的数据库第一种方法创建实体数据模型(edmx)文件。(我们已经为SQL Server提供了edmx的运行版本)。
安装的ODP.NET软件包,包括Visual Studio 2017 for Framework 4.5中的Oracle.ManagedDataAccess.dll和Oracle.ManagedDataAccess.EntityFramework.dll,通过Nuget软件包 手动修改Oracle的连接字符串
leaveApprovedList.Where(l => l.leaveTypeId = "1" &&
l.requestUserId == "5dc64ba7-8cf8-45dd-80f2-a8700e7dad2e" &&
l.FromDate == "2018-04-30")
.Select(d => ("2018-04-31" - "2018-04-30").TotalDays)
.Sum();
上述方法无效,因为我们发现系统中缺少ODP.Net托管提供程序。所以我们尝试安装适用于Visual Studio 2013的ODT工具(没有工作)并安装相同并安装2017(仍然是同一个问题)
我们发现我们错过了ODAC(Oracle数据访问组件),因此我们安装了相同但仍然没有得到ODP.Net托管数据提供商。
我们从以下路径检查了machine.config文件:C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Config
当我们尝试搜索解决方案时,我们得到以下链接ODP.NET Managed - 无法找到requested.Net Framework数据提供程序
第11点 - 他们提到通过包含ODP.NET,Managed Driver Under部分来修改machine.config文件。修改machine.config文件后,我们的visual studio崩溃了。
如链接中所述,我们使用Registry密钥文件进行检查,并检查RegKey是否存在。
HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft.NETFramework \ v4.0.30319 \ AssemblyFoldersEx \ odp.net.managed
托管的ODP.NET驱动程序未显示在“数据源”对话框
中但在我们的系统中,指定的路径中没有名为AssemblyFoldersEx的文件夹。
答案 0 :(得分:0)
您错过了一些信息,例如配置文件Object instance1 = Activator.CreateInstance<Object>();
Object instance2 = Activator.CreateInstance(typeof(object));
中的信息。您也没有向我们提供任何错误消息。声明“上述方法不起作用”并不是很有帮助。
无论如何,我会尝试给你一些提示:
machine.config
不再使用了。通常安装脚本应该删除它。您的注册表应如下所示:
HKLM\SOFTWARE\Wow6432Node\Microsoft.NETFramework\v4.0.30319\AssemblyFoldersEx\odp.net.managed
当然,您必须根据您的系统设置文件夹。