如何在 Visual Studio 中找到要连接的 informix 数据源
Posted
技术标签:
【中文标题】如何在 Visual Studio 中找到要连接的 informix 数据源【英文标题】:How to find informix datasource in visual studio to connect to 【发布时间】:2016-01-24 12:43:16 【问题描述】:我想将EF6
与Informix
数据库一起使用。
查了很多,发现可以得到
EntityFramework.IBM.DB2 6.0.2 来自 NuGet,用于 Informix
和 DB2
,但我的主要问题是 连接
如何创建与我的informix
数据库的连接我找不到任何供 .net 使用的提供程序?
我想要一个这样的窗口:
:
我当前的窗口:
我使用informix 服务器版本:IBM Informix 动态服务器版本 12.10.FC3 我使用informix客户端SDK版本:3.50 我使用 Visual Studio 2012 .net 框架 4.5注意事项:
EDIT :根据建议:
我跑C:\Windows\SysWOW64\odbcad32.exe
并配置我的ODBC
,但仍然无法通过 V.S 访问informix DB
:
EDIT2:
根据建议,我已经安装了IBM Informix Software Bundle
并能够通过View -->Server Explorer
连接到Visual Studio 并找到所有表。但是当我尝试通过这样的实体框架更改数据源时仍然找不到informix odbc:
【问题讨论】:
你试过这个ibm.com/developerworks/data/library/techarticle/… 您需要以下软件来完成示例:IBM Data Server Driver for ODBC、CLI 和 .NET(9.5.3 版或更高版本)IBM Database Add-ins for Visual Studio(9.5.5 版) 3 或更高版本)Visual Studio 2008 Service Pack 1 .NET Framework 3.5 Service Pack 1 www-01.ibm.com/support/docview.wss?uid=swg21385217 我阅读了所有这些文章并尝试下载IBM Database Add-Ins for Visual Studio
,但按钮I confirm
不执行任何操作!!
它的错误,您需要获取数据提供者才能使其运行
@Eldho:我需要直接链接到IBM Database Add-Ins for Visual Studio
【参考方案1】:
假设 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 管理器工具创建的任何数据源。 两个重要的警告......
-
确保您正在运行 32 位 ODBC 管理工具。如果您只是在命令提示符下键入
odbcad32.exe
,您将运行该工具的64 位 版本。请务必使用完整路径启动它:%windir%\SysWOW64\odbcad32.exe
。
如果您的数据源是系统 DSN,请尝试将其创建为用户 DSN。用户在 VS 2012 和 VS 2010 的服务器资源管理器中查看系统 DSN 似乎存在问题。
编辑 2 我回顾了这一点,认为您的环境中仍然存在一些缺失的要求。 IBM 提供了很多客户端软件包,您很可能需要比“IBM Database Add-Ins for Visual Studio”更全面的软件包之一。
我会下载并安装位于 http://www-01.ibm.com/support/docview.wss?uid=swg21385217 的“IBM Data Server Client”。根据 IBM 的描述……
这是多合一客户端包,包括所有客户端 可用的工具和库。它包括 Visual Studio 的加载项。
我能够下载 IBM Data Server Client。具体来说,这是我选择的。
IBM 数据服务器客户端 (Windows AMD 64) ibm_data_server_client_winx64_V10.5.zip (576 MB)
由于此软件包于 2012 年 4 月 30 日发布,我建议应用最新的修复包:http://www-01.ibm.com/support/docview.wss?rs=4020&uid=swg27016878
我认为您不需要 IBM Informix .NET 提供程序。请参阅此IBM tech article 中的“表 1”。本文还介绍了连接到 Informix 和使用 Visual Studio 插件。
【讨论】:
谢谢,我已经按照您的建议做了,但在 Visual Studio 2012 中仍然看不到该对话框! 你的 Visual Studio 是 64 位的吗? 您是否尝试过更新版本的 CSDK? 4.10 版本与您的 IDS 12.10 版本兼容。 (见www-01.ibm.com/support/knowledgecenter/#!/SSGU8G_12.1.0/…)。提供 64 位和 32 位版本。 您曾经下载过“IBM Database Add-ins for Visual Studio”吗? 我刚刚下载了加载项插件,通过“我确认”按钮没有任何问题。我会再试一次。【参考方案2】:编辑 5: 为了获得您正在寻找的完全相同的屏幕并与 Visual Studio 完全集成,以及您现在要求的所有花里胡哨,您将需要安装 IBM Data Server .NET Provider for Informix,它没有 Developer Edition。您只能获得试用版,除了常规的开发者注册之外,还需要额外的注册信息。
在下面的链接中查看详细的完整信息,包括您正在寻找的 Visual Studio 和 IBM Informix 之间完全相同的集成屏幕:Get started with the IBM Data Server .NET Provider for Informix
编辑 4: 代码 sn-p 测试 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 Version 12.10TC5DE 不仅包括客户端 SDK,还包括测试服务器。如下图所示,我连接到 sysmaster 数据库。无论您是否需要测试服务器,也许您都应该安装这个 32 位捆绑包,因为它可能会安装一些额外的组件,使您能够连接。
这里有更多关于如何在 ODBC 数据源管理工具中配置连接的详细信息:
编辑 2: 32 位客户端 SDK 产生的结果与之前显示的完全相同。
编辑 1:您可能想尝试一下:
假设您的客户端 SDK 已正确安装,那么您应该能够看到如下所示的驱动程序。就我而言,版本 4.10 开发者版(64 位)。
然后使用您的驱动程序和数据库信息创建如下用户数据源:
最后,在 Visual Studio 中,您新创建的数据源应该可用:
我没有可以用来进一步测试的服务器,但同样,你可以试一试。
【讨论】:
请您看看我的新编辑问题好吗? 你有没有尝试最后一步,即在VS中添加连接?你得到什么错误?我从您的打印屏幕上注意到您缺少 Microsoft ODBC 数据源 选项... 请参阅我的帖子中的 EDIT 3。 您能否提供指向Informix Developer Edition for Windows 32 Version 12.10TC5DE
的直接链接?我应该在此之前卸载任何以前的安装吗?注意:我的窗口是64bit
很遗憾,无法直接链接,因为您必须是注册用户才能下载。但这根本不应该是一个问题,只需注册即可。反正下载页面就是这个IBM - DeveloperWorks - Informix。我的机器也是64位的。绝对我会卸载所有以前安装的软件包以将其清理干净并消除任何潜在问题。我就是这么做的。【参考方案3】:
目前,Visual Studio 集成和实体框架支持仅通过使用使用 DRDA 协议的 IBM DS 驱动程序(IBM 数据服务器客户端)。 Informix Client SDK 包含的驱动程序使用称为 SQLI 的本机协议。 您可以在安装 IBM DS Driver 后尝试。 不幸的是,IBM DS 驱动程序对 Informix 服务器的功能有限。
【讨论】:
以上是关于如何在 Visual Studio 中找到要连接的 informix 数据源的主要内容,如果未能解决你的问题,请参考以下文章
如何找到 Visual Studio 项目的 .NET 框架版本?