我想将EF6
与Informix
数据库一起使用。
我经常搜索并发现我可以
来自NuGet的Informix
和DB2
EntityFramework.IBM.DB2 6.0.2,但我的主要问题是连接
如何创建与informix
数据库的连接我找不到.net要使用的任何提供程序?
我当前的窗口:
注意:
编辑:根据建议:
我运行C:\Windows\SysWOW64\odbcad32.exe
并配置我的ODBC
,但仍然无法通过V.S访问informix DB
:
EDIT2:
根据建议我安装IBM Informix Software Bundle
并能够通过View -->Server Explorer
连接到visual studio并查找所有表格。但是当我尝试通过Entity更改数据源时仍然无法找到informix odbc像这样的框架:
答案 0 :(得分:6)
假设CSDK安装成功,我怀疑ODBC Administrator工具的 64位版本正在运行,而安装了32位IBM驱动程序。 32位驱动程序仅在运行32位版本的ODBC管理器工具时可见。 Microsoft在其操作系统中同时提供32位和64位版本,但64位版本是一个从菜单启动。 (请参阅超级用户的相关问题:https://superuser.com/q/419832)。
您可以从命令提示符运行32位版本:
%windir%\SysWOW64\odbcad32.exe
当您添加DSN时,您应该看到IBM驱动程序,例如您发布的XP屏幕截图。
另外,请确保输入完整路径或cd
到%windir%\SysWOW64
目录。否则,您将启动64位版本,顺便称为odbcad32.exe
。
修改强>
Visual Studio 2012仅作为32位应用程序提供。 32位应用程序将看不到使用默认的64位ODBC管理器工具创建的任何数据源
两个重要的警告...
odbcad32.exe
,则将运行该工具的 64位版本。请务必使用完整路径启动它:%windir%\SysWOW64\odbcad32.exe
。编辑2 我回顾过这一点,并认为您的环境中仍然存在一些缺失的要求。来自IBM的相当多的客户端软件包,你可能需要一个比“IBM Visual Studio Add-Ins for Visual Studio”更全面的软件包。
我会下载并安装http://www-01.ibm.com/support/docview.wss?uid=swg21385217处的“ IBM数据服务器客户端”。根据IBM的描述......
这是一体化的客户端包,包括所有客户端 工具和库可用。它包括Visual Studio的加载项。
我能够下载IBM Data Server Client。具体来说,这就是我选择的那个。
IBM数据服务器客户端(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中的“表1”。本文还介绍了如何连接到Informix并使用Visual Studio加载项。
答案 1 :(得分:4)
编辑5:为了获得您正在寻找的完全相同的屏幕,并与Visual Studio完全集成,您现在需要的所有花哨和哨声,您需要安装 IBM Data Server .NET Provider for Informix ,它没有 Developer Edition 。您只能获得试用版,除了常规开发者注册之外,还需要其他注册信息。
请参阅以下链接中的详细完整信息,包括您正在寻找的 Visual Studio 和 IBM Informix 之间完全相同的集成屏幕:{{3} }
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:我能够建立一个ODBC连接,如前所述,使用" bundle"包 Informix Developer Edition for Windows 32版本12.10TC5DE ,其中不仅包括客户端SDK,还包括测试服务器。如下图所示,我连接到 sysmaster 数据库。无论您是否需要测试服务器,也许您应该安装此32位捆绑包,因为它可能会安装一些其他组件以使您能够连接。
以下是有关如何在ODBC数据源管理工具中配置连接的更多详细信息:
编辑2: 32位客户端SDK生成的结果与之前显示的完全相同。
编辑1:您可能想尝试一下:
假设您的客户端SDK已正确安装,那么您应该能够看到您的驱动程序,如下所示。就我而言,版本4.10 Developer Edition(64位)。
然后使用您的驱动程序和数据库信息创建如下的用户数据源:
最后,在Visual Studio中,您新创建的数据源应该可用:
我没有服务器可以用来进一步测试,但是再次尝试一下。
答案 2 :(得分:1)
目前,Visual Studio集成和实体框架支持仅使用使用DRDA协议的IBM DS驱动程序(IBM数据服务器客户端)。 Informix Client SDK附带的驱动程序使用称为SQLI的本机协议。 您可以在安装IBM DS Driver后尝试。 不幸的是,IBM DS驱动程序对Informix服务器的功能有限。