实体数据模型向导与Oracle Connection崩溃

时间:2017-07-13 14:31:31

标签: asp.net oracle entity-framework visual-studio-2015

我无法让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文件夹中的文件夹。

服务器资源管理器中没有定义连接

我的步骤如下:

  1. 在解决方案资源管理器中,右键单击项目并选择“添加”| “新项目......”
  2. 选择数据| ADO.NET实体数据模型|添加
  3. 从数据库中选择EF Designer按下一步
  4. 在实体数据模型向导中:

    1. 按新连接...(我收到警告“无法找到默认的tnsnames.ora文件。”我忽略并按“确定”
    2. 将数据源作为“Oracle数据库(ODP.NET,托管驱动程序)”,输入凭据并指定其他 连接参数并按“SUCCEEDS”的“测试连接”。
    3. 我按OK然后转到实体数据模型向导的下一页
    4. 我在连接字符串中包含敏感数据,然后按下一步....
    5. WIZARD SHUTS DOWN(崩溃) - 没有EDMX创建

      非常感谢帮助我排除故障的任何帮助。

      TIA - Xavier

5 个答案:

答案 0 :(得分:16)

感谢@ Hong-vit指出我正确的方向。我找到了答案。

当您访问download page for ODAC时,您将获得一系列版本号。

就我而言,前两位是:

  • ODAC 12.2c第1版和适用于Visual Studio的Oracle开发人员工具( 12.2.0.1.0
  • ODAC 12c第4版和适用于Visual Studio的Oracle开发人员工具( 12.1.0.2.4

对我而言,最重要的是不能安装。它会在安装过程中切断(感谢Oracle!)所以我选择了第二个( 12.1.0.2.4 )。

这意味着当我安装Oracle.ManagedDataAccess和Oracle.ManagedDataAccess.EntityFramework时,我必须选择 正确的版本

不适合我:

enter image description here

我需要的那个

enter image description here

正如您所看到的那样,版本号(几乎!)匹配:

  • ODAC 12.2.0.1.0 = Oracle.ManagedDataAccess 12.2.1100
  • ODAC 12.1.0.2.4 = Oracle.ManagedDataAccess 12.1.24160719 (是的!)

我认为这是代表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软件包中使用相似的版本对于获得良好的性能非常重要。