如何在 visual studio 中找到要连接的 Informix 数据源

How to find informix datasource in visual studio to connect to

我想将 EF6Informix 数据库一起使用。

我搜索了很多,发现我可以得到

EntityFramework.IBM.DB2 6.0.2 来自 NuGet 的 InformixDB2 但我的主要问题是 连接

如何创建到我的 informix 数据库的连接 我找不到任何供 .net 使用的提供程序?

My current window :


Notes:


EDIT :根据建议: 我运行C:\Windows\SysWOW64\odbcad32.exe

并配置我的 ODBC 但仍然无法通过 V.S 访问 informix DB :


编辑2: 根据建议,我已经安装了 IBM Informix Software Bundle 并能够通过 View -->Server Explorer 连接到 visual studio 并找到所有表。但是当我尝试更改数据时仍然找不到 informix odbc通过 Entity framework 来源,如下所示:

假设CSDK安装成功,我怀疑ODBC Administrator工具的64位版本是运行ning,而安装的是32位IBM驱动. 32 位驱动程序将仅在 32 位版本的 ODBC 管理器工具中可见 运行。 Microsoft 在其 OS,但 64 位版本是从菜单启动的版本。 (请参阅超级用户的相关问题:https://superuser.com/q/419832)。

您可以从命令提示符 运行 32 位版本:
%windir%\SysWOW64\odbcad32.exe
当您添加 DSN 时,您应该会看到 IBM 驱动程序,就像您发布的 XP 屏幕截图中那样。

此外,请确保您输入 %windir%\SysWOW64 目录的完整路径或 cd。否则,您将启动 64 位版本,顺便说一下,它也称为 odbcad32.exe.

编辑
Visual Studio 2012 仅作为 32 位应用程序提供。 32 位应用程序看不到使用默认 64 位 ODBC 管理器工具创建的任何数据源。
两个重要的警告......

  1. 确保您运行正在使用 32 位 ODBC 管理工具。如果您只需在命令提示符下键入 odbcad32.exe,您将 运行 使用该工具的 64 位 版本。请务必使用完整路径启动它:%windir%\SysWOW64\odbcad32.exe.
  2. 如果您的数据源是 系统 DSN,请尝试将其创建为 用户 DSN。在 VS 2012 and VS 2010.
  3. 的服务器资源管理器中查看系统 DSN 的用户似乎有问题

编辑 2
我回顾了一下,认为您的环境中仍然缺少一些要求。 IBM 提供了很多客户端软件包,您可能非常需要其中一个比 "IBM Database Add-Ins for Visual Studio".

更全面的软件包

我会下载并安装位于 http://www-01.ibm.com/support/docview.wss?uid=swg21385217 的“IBM 数据服务器客户端”。根据 IBM 的描述……

This is the all in one client package and includes all the client tools and libraries available. It includes add-ins for Visual Studio.

我能够下载 IBM 数据服务器客户端。具体来说,我选的就是这个

IBM Data Server Client (Windows AMD 64)
ibm_data_server_client_winx64_V10.5.zip (576 MB)

由于此软件包于 2012-04-30 发布,我建议应用最新的修复包:http://www-01.ibm.com/support/docview.wss?rs=4020&uid=swg27016878

我认为您不需要 IBM Informix .NET 提供程序。请参阅此 IBM tech article 中的 "Table 1"。本文还介绍了连接到 Informix 和使用 Visual Studio 插件。

编辑 5: 为了获得与您正在寻找的完全相同的屏幕并与 Visual Studio 完全集成,您现在要求很高,您将需要安装 IBM Data Server .NET Provider for Informix,它没有 Developer Edition。您只能获得 试用版,除了常规 开发者注册 之外,还需要额外的注册信息。

请参阅下面 link 中的详细完整信息,包括 Visual StudioIBM Informix[= 之间完全相同的集成屏幕72=] 您正在寻找:Get started with the IBM Data Server .NET Provider for Informix

编辑 4: 测试 ODBC 连接的代码片段:

    private void Form1_Load(object sender, EventArgs e)
    {
        try
        {
            string connString = "Dsn=IFMX32;uid=informix";
            string cmd = "select * from syschfree";

            OdbcConnection conn = new OdbcConnection(connString);

            OdbcDataAdapter adapter = new OdbcDataAdapter(cmd, conn);

            conn.Open();

            DataTable table = new DataTable();
            adapter.Fill(table);

            dataGridView1.DataSource = table;
        }
        catch (Exception ex)
        {
            Debug.WriteLine(ex.ToString());
        }
    }

编辑 3: 我能够按照使用 "bundle" 包 Informix Developer Edition 之前的说明建立 ODBC 连接for Windows 32 Version 12.10TC5DE 其中不仅包括客户端 SDK,还包括测试服务器。如下图所示,我连接到 sysmaster 数据库。无论您是否需要测试服务器,也许您都应该安装这个 32 位捆绑包,因为它可能会安装一些额外的组件,使您能够连接。

这里有一些关于如何在 ODBC 数据源管理工具中配置连接的详细信息:

编辑 2: 32 位客户端 SDK 产生的结果与之前显示的结果完全相同。

编辑 1: 您可能想尝试一下:

假设您的客户端 SDK 已正确安装,那么您应该能够看到您的驱动程序,如下所示。就我而言,版本 4.10 Developer Edition(64 位)。

然后使用您的驱动程序和数据库信息创建一个用户数据源,如下所示:

最后,在 Visual Studio 中,您新创建的数据源应该可用:

我没有可用于进一步测试的服务器,但同样,您可以试一试。

目前 Visual Studio 集成和 Entity Framework 支持仅通过使用使用 DRDA 协议的 IBM DS 驱动程序(IBM 数据服务器客户端)。 Informix Client SDK 中包含的驱动程序使用称为 SQLI 的本机协议。 您可以在安装 IBM DS Driver 后尝试。 不幸的是,IBM DS 驱动程序在 Informix 服务器上的功能有限。