Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在VisualStudio中找到要连接的informix数据源_C#_Visual Studio_Visual Studio 2012_Entity Framework 6_Informix - Fatal编程技术网

C# 如何在VisualStudio中找到要连接的informix数据源

C# 如何在VisualStudio中找到要连接的informix数据源,c#,visual-studio,visual-studio-2012,entity-framework-6,informix,C#,Visual Studio,Visual Studio 2012,Entity Framework 6,Informix,我想将EF6与Informix数据库一起使用 我找了很多,发现我能找到 来自NuGet的Informix和DB2但我的主要问题是连接 如何创建到我的informix数据库的连接我找不到任何可供.net使用的提供程序 我想要一扇这样的窗户: : 我的当前窗口: 注: 我使用informix服务器版本:IBMInformix动态服务器版本 12.10.FC3 我使用informix客户端SDK版本:3.50 我使用Visual studio 2012 .net framework 4.5

我想将
EF6
Informix
数据库一起使用

我找了很多,发现我能找到

来自NuGet的
Informix
DB2
但我的主要问题是连接

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

  • 我想要一扇这样的窗户:

    :

我的当前窗口:


注:

  • 我使用informix服务器版本:IBMInformix动态服务器版本 12.10.FC3
  • 我使用informix客户端SDK版本:3.50
  • 我使用Visual studio 2012
  • .net framework 4.5

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

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


EDIT2: 根据建议,我已经安装了
IBM Informix软件包
,并且能够通过
View-->Server Explorer
连接到visual studio并找到所有表。但是当我尝试通过实体框架更改数据源时,仍然找不到Informix odbc,如下所示:

假设CSDK安装成功,我怀疑ODBC管理员工具的64位版本正在运行,同时安装了32位IBM驱动程序。32位驱动程序仅在运行32位版本的ODBC管理员工具时可见。Microsoft在其操作系统中同时提供32位和64位版本,但64位版本是从菜单中启动的版本。(请参阅超级用户的相关问题:)。

您可以从命令提示符运行32位版本:
%windir%\SysWOW64\odbcad32.exe

当您添加DSN时,应该会看到IBM驱动程序,如您发布的XP屏幕截图所示。

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

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

  • 确保您正在运行32位ODBC管理工具。如果您只是在命令提示符下键入
    odbcad32.exe
    ,您将运行该工具的64位版本。确保使用完整路径启动它:
    %windir%\SysWOW64\odbcad32.exe
  • 如果数据源是系统DSN,请尝试将其创建为用户DSN。在和中的服务器资源管理器中查看系统DSN的用户似乎有问题
  • 编辑2
    我回顾了这一点,认为您的环境中仍然缺少一些需求。这些是IBM提供的相当多的客户端软件包,您可能非常需要其中一个比“用于Visual Studio的IBM数据库外接程序”更全面的软件包

    我将下载并安装位于的“IBM数据服务器客户端”。根据IBM的描述

    这是一个多功能客户端包,包括所有客户端 可用的工具和库。它包括Visual Studio的外接程序

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

    IBM数据服务器客户端(Windows AMD 64)
    ibm_data_server_client_winx64_V10.5.zip(576 MB)

    由于此软件包于2012年4月30日发布,我建议应用最新的补丁包:


    我认为您不需要IBMInformix.NET提供程序。见本节中的“表1”。本文还介绍了如何连接到Informix并使用Visual Studio外接程序。

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

    请参阅下面链接中的详细完整信息,包括您要查找的Visual StudioIBM 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:我能够建立ODBC连接,正如使用“捆绑包”包之前所解释的那样Informix Developer Edition for Windows 32版本12.10TC5DE不仅包括客户端SDK,还包括测试服务器。如下图所示,我连接到了sysmaster数据库。无论您是否需要测试服务器,也许您应该安装这个32位捆绑包,因为它可能会安装一些额外的组件,使您能够连接

    以下是有关如何在ODBC数据源管理工具中配置连接的更多详细信息:

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

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

    假设您的客户端SDK安装正确,那么您应该能够看到驱动程序,如下所示。在我的例子中,版本4.10开发者版(64位)

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

    最后,在VisualStudio中,新创建的数据源