asp.net - Oracle 连接的实体数据模型向导崩溃

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

我无法让 VS 2015 为 Oracle 连接创建我的 EDMX 文件。

我正在使用 Visual Studio 2015 更新 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 版本。

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

我的步骤如下:

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

  • 在实体数据模型向导中:
  • 按新连接...(我收到警告“找不到默认的 tnsnames.ora 文件。”我忽略并按“确定”
  • 使用数据源作为“Oracle 数据库(ODP.NET,托管驱动程序)”,我输入凭据并指定另一个
    连接参数,然后按“测试连接”成功。
  • 我按 OK 并进入实体数据模型向导中的下一页
  • 我在连接字符串中包含敏感数据并按下一步....

  • 向导关闭(崩溃) - 没有创建 EDMX

    任何帮助我解决此问题的帮助将不胜感激。

    TIA - 泽维尔

    最佳答案

    感谢@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 的失败,因为尽管它们包含在一页长自述文件中,但没有明确说明这一点。此外,版本号并不完全相同……但这是博客的咆哮。

    关于asp.net - Oracle 连接的实体数据模型向导崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49258568/

    相关文章:

    sql - Oracle 约束 : mix unique and check constraints

    c# - 如何让 Entity Framework 生成 INSERT 语句以包含数据库生成的 IDENTITY 列?

    asp.net-mvc-3 - 使用 MSDeploy 进行 DevArt Entity Framework 部署

    asp.net - 中继器控制内的条件逻辑?

    c# - 如何将 UTC 日期转换为我的时区?

    asp.net - 需要测试ajax超时条件

    asp.net - 如何在多列中搜索相同的搜索字符串?

    c# - 将参数从 .aspx.cs 传递到 .ashx

    Oracle 标识列并插入到选择中

    oracle - 将日期附加到字符串以获取 Oracle 中的表名称并对其进行选择查询