c# - 从 .Net Web 应用程序访问 IBM Informix
问题描述
我们需要实现与来自IBM
被调用的旧数据库的集成Informix
。鉴于此,我们安装了4.10 FC4DE
IBM 的 Client SDK(版本)并实现了一个简单的控制台应用程序来测试数据访问方法。它适用于.Net ADO.NET Provider for Informix
、ODBC
64 位和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 应用程序案例中缺少哪些依赖项?
谢谢你。
解决方案
解决方案:运行 Web 应用程序时,必须在 64 位上执行,因为 Client SDK 是 64 位的。
为确保您有一个在 64 位上运行的 Web 应用程序,在 Visual Studio 上,转到Tools
//并选中选项.Options
Projects and Solutions
Web Projects
Use 64 bit version of IIS EXpress for web sites and projects
推荐阅读
- angular - 当按钮以角度禁用时,谷歌浏览器中不显示任何工具提示
- javascript - 返回预期的输出但仍然错误?
- php - 如何将http url重定向到https url?
- javascript - 父 div 未使用 parent().show() 方法显示
- javascript - 未捕获的类型错误:$(...).makeRed 不是函数
- testing - 查询测试的试剂/打嗝标记
- java - 为 cmake 执行外部库(Android Studio)
- redis - 使用 Capistrano 部署到 DigitalOcean 时出现 Redis 错误
- boost - 找不到 Boost - python3 组件丢失
- mysql - 使用从原始列派生的值创建一个新列