与创build一个ODBC连接混淆,显然我有两个单独的odbcad32.exe文件?

好吧,这是我第一次和这个一起工作,所以如果我有点困惑或模糊,原谅我。

我有一个服务器与Windows Server 2008标准没有Hyper-v(6.0,生成6002)。 我在这个服务器上运行一个小网站,并使用Microsoft Access数据库存储通过网站进入的一些信息。 我确信我写的打开ODBC连接的PHP是正确的,因为当我在笔记本电脑的testing环境中创build了这个网站时,它已经为我工作了。

我现在的问题是,似乎我有两个不同的odbcad32.exe,而且似乎没有.accdb文件的驱动程序,只有一个.mdb文件。 另一个有两个司机。

我所说的第一个驱动程序名为“Driver do Microsoft Access(.mdb)”,第二个驱动程序名为“Microsoft Access Driver(.mdb,.accdb)”。 我通过转到C:\ Windows \ SysWOW64 \ odbcad32.exe访问第一个odbcad32.exe,然后看似有我需要的驱动程序的那个我去控制面板 – >pipe理工具 – >数据源(ODBC)和只需在“系统DNS”选项卡中创build一个新的连接。

每当我通过控制面板进行更改时,我都看不到有任何更改,但是如果在SysWOW64中使用odbcad32.exe文件,则会发现有一些更改会返回给我。 我注意到的主要区别是,当我用控制面板方法build立一个ODBC连接时,它说它根本找不到ODBC连接,但是当我在SysWOW64中创build一个.mdb连接(并指向它。 accdb文件)它说

Cannot open database '(unknown)'. It may not be a database that your application recognizes, or the file may be corrupt. 

这使得它看起来像SySWOW64中的这个odbcad32.exe版本被认为是“正确的”。 有没有什么办法解决这一问题?

我试图尽可能地彻底,但如果我一直困惑或留下任何东西让我知道。

system32中的可执行文件是64位版本,而syswow64中的副本是64位版本。 每个人都根据您正在运行的可执行文件的体系结构使用不同的驱动程序。

您要运行的版本取决于需要加载驱动程序的可执行文件的体系结构。

大多数情况下,PHP以CGI的32位处理方式运行,但是您需要仔细检查您的环境并确保安装相应的驱动程序。