如何将32位应用程序连接到64位系统DSN?

时间:2013-10-15 19:44:45

标签: c# dsn

如何从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

2 个答案:

答案 0 :(得分:0)

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

有关比特差异的非常详细的文章,请参阅Scott Hanselman关于此事的blog post

答案 1 :(得分:0)

“ prefer32bit” exe,调用64位dll。 解决方案:

  1. CorFlags.exe SampleIntegration.exe / 32BITPREF-
  2. 在Visual Studio中取消选中“首选32位”
  3. 编译为64位