【问题标题】:Generating an EDMX from a DB2 Database从 DB2 数据库生成 EDMX
【发布时间】:2016-04-11 12:31:35
【问题描述】:

我正在尝试使用 VS2013 创建一个 EDMX 文件,以便可以从 DB2 数据库读取/写入。我经历了与从我的 SQL 表创建 EDMX 相同的过程(右键单击项目 -> 添加新项目 -> ADO.NET 实体数据模型 -> 数据库中的 EF 设计器 -> 这次不使用 SQL:新连接 - > 更改数据源)但在数据源选项中,DB2 不可用。我有 2 个 SQL 选项,仅此而已。

Data Source

因此,在对这里和其他一些地方进行了一些调查之后,在 EF6 的插件问世之前,似乎 EF 并未真正设置为执行此操作。因此,我使用 Nuget 安装了 EntityFramework.IBM.DB2 版本 6.0.3,希望这会为我的数据源区域添加一些内容,让我可以选择 DB2 数据库,但仍然没有。

我会尽量在这里提供尽可能多的关于我的系统的信息,所以如果我漫不经心……我倾向于这样做……提前抱歉。

我在使用 VS2013 专业版的 Windows 7 上。我有一个 ODBC 连接设置,多年来一直运行良好。我可以进入 ODBC 管理器并测试我与测试和生产 DB2 的连接,它连接得很好。

ODBC 数据源管理器的版本是 6.1.7601.17632,我使用的是 IBM DB2 ODBC 驱动程序...看起来它的版本是 10.5.500(尽管我不能 100% 确定我是否在寻找正确的获取该版本号的地方)

我还可以进入 Access 并使用 ODBC 连接连接到 DB2 数据库,然后返回表及其数据。

我还可以使用连接字符串设置(我假设使用相同的 ODBC 连接)将 SQL 语句直接写入我的代码,并从 SQL 读取数据并调用连接到这些 DB2 表的存储过程来写入/更新/删除。

最后,似乎以前的同事能够完成这项工作。我已经加载了他的代码,当我打开 EDMX 时,我得到了所有表格的漂亮图形显示。但是当我尝试点击从数据库更新时,我得到一个错误:

Error Message

很遗憾,他已经不在公司了,他的电脑也不是我可以查看的状态。

所以感觉这是可以完成的事情,并且我的计算机几乎已设置为可以执行此操作......除了我缺少的一些东西允许我首先将那个 DB2 类型的数据源添加到那个上图,这样我就可以选择它,放入凭据并继续前进。

任何帮助将不胜感激......

【问题讨论】:

    标签: c# db2 entity-framework-6 edmx


    【解决方案1】:

    为了使用 Entity Framework 和 Visual Studio... 您需要安装 IBM 的驱动程序以及 Visual Studio 插件(以使 DB2 显示在数据提供者的下拉列表中并正确创建 EDMX)。以下是我们用来与 DB2 z/os 通信的设置。我不确定这些相同的驱动程序是否适用于 DB2 Linux/Unix/Windows。

    http://www-01.ibm.com/support/docview.wss?uid=swg24041453

    以上链接适用于客户端版本 10.5 修订包 7。我已使用此链接在 Windows 7/8.1 中设置 Visual Studio 2013 和 Visual Studio 2015(尚未在 Windows 10 开发机器上测试)。

    这是您需要下载和安装的内容

    1. 数据服务器驱动程序包 (Windows)
    2. Visual Studio 的数据库插件

    您还需要一个许可文件(您的 DBA 应该能够为您提供此文件,或者至少使用他们的 IBM 登录名下载一个)

    先安装数据服务器驱动程序,然后再安装插件。将您的许可证文件复制到C:\Program Files\IBM\IBM DATA SERVER DRIVER\license

    如果您希望使用 EF6,您仍然需要 EntityFramework.IBM.DB2 nuget 包,因为 Visual Studio 插件本身仅与 EF5 兼容

    【讨论】:

      【解决方案2】:

      感谢您的回复。

      数据库插件正是我想要的。

      我能够跳过您问题的第 1 部分,因为我已经完成了该部分,除了...为了执行第 2 部分,我必须将驱动程序更新到与安装 Add-插入。

      我下载了 10.5 版并更新了我的驱动程序,然后我能够安装插件并能够继续并创建我的 EDMX。

      非常感谢您的帮助。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-03-27
        • 1970-01-01
        • 1970-01-01
        • 2010-09-15
        • 1970-01-01
        • 2011-11-25
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多