4

如何从 32 位应用程序连接到 64 位系统 DSN?我收到错误:错误 [IM014] [Microsoft][ODBC 驱动程序管理器] 指定的 DSN 包含驱动程序和应用程序之间的体系结构不匹配

OdbcConnection con = new OdbcConnection();
con.ConnectionString = string.Format("DSN={0}", _dsnName); 

我看过很多帖子,人们使用 64 位连接到 32 有没有办法从 32 到 64,而无需使用 32 位应用程序重新定义您的 ODBC 连接?c:\windows\syswow64\odbcad32.exe

4

2 回答 2

1

一个'prefer32bit' exe,调用一个 64 位 dll。解决方案:

  1. CorFlags.exe SampleIntegration.exe /32BITPREF-
  2. 在 VisualStudio 中取消勾选“首选 32 位”
  3. 编译为 64 位
于 2019-06-07T05:08:51.510 回答
0

如果可以的话,你应该考虑为任何 CPU 编译你的应用程序,这将允许它作为 64 位或 32 位应用程序运行,具体取决于它运行的硬件。

有关位数差异的非常详细的文章,请参阅 Scott Hanselman 的博客文章

于 2013-10-15T19:55:35.073 回答