从 .Net Web 应用程序访问 IBM Informix

Accessing IBM Informix from .Net Web Application

我们需要与 IBM 中名为 Informix 的旧数据库进行集成。鉴于此,我们安装了 IBM 的客户端 SDK(版本 4.10 FC4DE)并实现了一个简单的控制台应用程序来测试数据访问方法。它适用于 .Net ADO.NET Provider for InformixODBC 64 位和 OleDb(由 Ifxoledbc 驱动程序)。

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

Could not load assembly 'IBM.Data.Informix' or one of its dependencies...

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

[Microsoft][ODBC Driver Manager] The specified DSN contains an architecture mismatch between the Driver and Application

它只是不起作用 with.Net ADO.NET 提供程序、ODBC 或 OleDb。 None 这适用于 Web 应用程序,但在控制台中一切正常。

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

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

谢谢。

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

要确保您在 Visual Studio 上有 64 位网络应用程序 运行,请转至 Tools / Options / Projects and Solutions / Web Projects 检查 选项 Use 64 bit version of IIS EXpress for web sites and projects.