我无法让VS 2015为Oracle Connection创建我的EDMX文件。
我正在使用Visual Studio 2015 Update 3 我已经安装了Oracle Developer Tools 12.1.0.2.4 我已经安装了Oracle Data Access,并且\ client [user] \ product \ 12.1.0 \ client \ odp.net \ bin下面存在以下DLL 2.x \ Oracle.DataAccess.dll版本:2.121.2.0 ODAC版本4 4 \ Oracle.DataAccess.dll版本:4.121.2.0 ODAC版本4 我正在使用以下程序集 Oracle.ManagedDataAccess版本:4.122.1.0 Oracle.ManagedDataAccess.EntityFramework版本:6.122.1.0 *我相信这两个版本都是版本12.2.1100,基于它们位于packages文件夹中的文件夹。
服务器资源管理器中没有定义连接
我的步骤如下:
在实体数据模型向导中:
WIZARD SHUTS DOWN(崩溃) - 没有EDMX创建
非常感谢帮助我排除故障的任何帮助。
TIA - Xavier
答案 0 :(得分:16)
感谢@ Hong-vit指出我正确的方向。我找到了答案。
当您访问download page for ODAC时,您将获得一系列版本号。
就我而言,前两位是:
对我而言,最重要的是不能安装。它会在安装过程中切断(感谢Oracle!)所以我选择了第二个( 12.1.0.2.4 )。
这意味着当我安装Oracle.ManagedDataAccess和Oracle.ManagedDataAccess.EntityFramework时,我必须选择 正确的版本 。
不适合我:
我需要的那个
正如您所看到的那样,版本号(几乎!)匹配:
我认为这是代表oracles的失败,因为尽管它们包含在一个不具备此功能的页面长篇自述文件中,但它并未明确。此外,版本号不完全相同......但这是对博客的咆哮。
答案 1 :(得分:10)
我有同样的错误。我按照以下步骤成功修复了它:
在您的项目上右键单击 - >在Browse选项卡输入oracle上选择Manage NuGet packages。您将看到Oracle.ManagedDataAccess.EntityFramework。选择已安装的oracle版本。这应该是12.1.2400。安装它,你就完成了
答案 2 :(得分:1)
我遇到了同样的问题-希望我能帮助其他Google员工完成连接Oracle和Visual Studio的不幸任务。
我遵循了步骤,但仍然崩溃-因为我使用的是VS2017 (我知道问题被标记为VS2015)。您需要安装VS2017 ODAC Client。值得庆幸的是,当您开始安装时,此工具实际上会执行某些操作。接受的答案上的链接中的安装程序仅适用于VS2015。
ODP.NET的最新版本(截至撰写本文时)为18.3,可以通过NuGet(Oracle.ManagedDataAccess.EntityFramework
)安装。遵循these steps on Oracle's website,您将被设置。
...或者您认为。我遇到了与此stack overflow question中相同的错误,该错误不会超过“实体数据模型向导”。
我在所选答案中应用了每种配置,但仍然无法正常工作。当我将Oracle.ManagedDataAccess.EntityFramework
从18.3.0降级到12.2.1100时,我终于可以创建模型了!
答案 3 :(得分:0)
看起来像someone here had similar issue:他以某种方式添加了更改实现。
[在这种情况下]一个视图(有效和有效)导致崩溃。在不使用该视图的情况下更改实现后,它(或多或少)工作。
我建议你一步一步地进行,第一次测试向导时只导入一个对象,然后只导入简单的表,然后添加程序,视图......
答案 4 :(得分:0)
当我尝试将Oracle Entity Framework与Visual Studio 2017连接时遇到了相同的问题。
安装后,卸载几次不同版本。最适合我的版本是:
用于Visual Studio 2017的Oracle开发人员工具(ODTv2017) v12.2.1200
Oracle.ManagedDataAccess v12.2.1100
Oracle.ManagedDataAccess.EntityFramework v12.2.20190115
EntityFramework .NET v6.3.0
我认为在Oracle软件包中使用相似的版本对于获得良好的性能非常重要。