首页 > 解决方案 > 从 .Net Web 应用程序访问 IBM Informix

问题描述

我们需要实现与来自IBM被调用的旧数据库的集成Informix。鉴于此,我们安装了4.10 FC4DEIBM 的 Client SDK(版本)并实现了一个简单的控制台应用程序来测试数据访问方法。它适用于.Net ADO.NET Provider for InformixODBC64 位和OleDb(由Ifxoledbc驱动程序)。

当我们尝试在 Web 应用程序上运行它时(asp.net MVC 与我们刚刚在控制台应用程序上测试的相同版本的 .Net Framework - 4.6 版本),我们收到以下错误:

无法加载程序集“IBM.Data.Informix”或其依赖项之一...

如果我尝试通过 ODBC 运行它,它会显示:

[Microsoft][ODBC Driver Manager] 指定的 DSN 包含驱动程序和应用程序之间的体系结构不匹配

它只是不适用于 .Net ADO.NET Provider、ODBC 或 OleDb。这些都不适用于 Web 应用程序,但在控制台中一切都很好。

当我在项目中添加引用时,会发生一些奇怪的事情。当我在控制台应用程序上添加引用时,IBM.Data.Informix它在引用的属性窗口中显示 dll 版本是 3.0.0.0,而控制台上的 4.0.0.0 是相同的文件路径。

我的问题是,我如何才能正确调查它并了解 Web 应用程序案例中缺少哪些依赖项?

谢谢你。

标签: c#.netdatabaseado.netinformix

解决方案


解决方案:运行 Web 应用程序时,必须在 64 位上执行,因为 Client SDK 是 64 位的。

为确保您有一个在 64 位上运行的 Web 应用程序,在 Visual Studio 上,转到Tools//并选中选项.OptionsProjects and SolutionsWeb ProjectsUse 64 bit version of IIS EXpress for web sites and projects


推荐阅读