DSN连接问题(Win64应用程序到32位Postgres服务器)

时间:2014-01-07 11:41:07

标签: c# postgresql dsn

我遇到以下问题:

我们办公室里有一个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()部分中,抛出了上一个异常。

有人能帮助我吗? (对不起英文错误......)

1 个答案:

答案 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驱动程序。

有趣,没有?