x32应用程序可以使用x64数据库吗?

时间:2015-09-21 17:11:19

标签: c# windows postgresql

在一家公司的技术支持部门工作时,不得不提名,技术人员向我说明如下:

  

PROGRAM_NAME目前是x32,因此无法使用x64驱动程序。我们是   目前正在开发x64版本,但我们有很多测试   先做。

他引用的x64驱动程序适用于Postgres 64位数据库。数据库在x64 windows 7机器上运行。它被注册为ODBC数据源。

据我所知,如果我要写一个32位应用程序,让我们说在C#中作为一个例子,我的应用程序可以毫无问题地连接到64位数据库。因此,技术人员的回复对我来说似乎很可疑。

x32应用程序是否真的无法使用x64数据库?

2 个答案:

答案 0 :(得分:4)

您误解了错误。

这与数据库服务器的位数无关;它关于 ODBC驱动程序的位数。

ODBC驱动程序是在进程中加载​​的,因此它们必须与您的进程的位数相匹配。

客户端代码(您自己的代码或驱动程序)都不知道或不关心数据库服务器的位数。

答案 1 :(得分:1)

技术人员说的是:

  

PROGRAM_NAME目前为x32,因此无法使用x64 驱动程序

并且他是正确的,因为驱动程序通常作为动态库提供,并且您无法在调用应用程序和动态库之间混合位。

但是,这并不意味着您无法从32位应用程序连接到64位dbms。通信通常通过socket完成,只要双方都同意协议实现,socket就不关心客户端和服务器的位数。