我遇到以下问题:
我们办公室里有一个32位的Postgres服务器。 我正在使用64位Windows 8在Visual Studio 2013中开发应用程序。 当我运行该应用程序时,我收到以下错误:
ERROR [IM014] [Microsoft][ODBC Driver Manager] The specified DSN contains an architecture mismatch between the Driver and Application
我安装了两个驱动程序(32位和64位)用于ODBC,但我的64位驱动程序,当我尝试通过VS连接到服务器时,它抛出与上面相同的错误,只有32位驱动程序可以通过VS连接
在VS2013中,我可以看到服务器的表和配置,但是当我运行时,更具体的是,在Connection.Open()部分中,抛出了上一个异常。
有人能帮助我吗? (对不起英文错误......)
答案 0 :(得分:1)
大多数Visual Studio应用程序版本都是32位,即使安装在64位Windows上也是如此。
如果Visual Studio是32位,则必须使用32位ODBC驱动程序在Visual Studio中进行ODBC通信。
从Visual Studio中编译的64位应用程序进行ODBC通信时,您可以(并且必须)仍然使用64位ODBC驱动程序。
您也可以编译并运行32位应用程序,即使您使用的是64位Windows,在这种情况下,您必须使用32位ODBC驱动程序。
有趣,没有?