PHP ODBC connect()到Access-体系结构不匹配


PHP ODBC connect() to Access - architecture mismatch

我已经在谷歌上搜索了好几个小时了。

我读过无数的文章,比如:Access有Windows7ODBC驱动程序吗?

我已经尝试使用两个ODBC管理员,并成功地为两个添加了系统DSN:

  • Microsoft Access数据库
  • Microsoft do Access数据库

当我尝试连接到本地存储的Access DB时:

odbc_connect('Aquarius2', '', '');

我得到以下错误:

odbc_connect():SQL错误:[Microsoft][odbc驱动程序管理器]指定的DSN包含驱动程序和应用程序之间的体系结构不匹配,SQL状态IM014在第3行的C:''export''export.php中的SQLConnect中

简单的脚本尝试安装最新的访问驱动程序-Aquarius2是我的DSN名称,但仍然失败。

我没主意了——我还缺什么?

谨致问候,Alex

您正试图使用带有32位ODBC驱动程序的64位应用程序,反之亦然。看看64位Windows平台上的ODBC。

您需要首先确定您的PHP应用程序是64位还是32位。

然后,一旦确定需要启动正确的ODBC管理员,就有两个,一个用于32位,另一个用于64位。64位ODBC管理员位于"管理工具"控制面板中,32位管理员位于%windir'syswow64'odbcad32.exe中。

一旦您将应用程序体系结构与正确的ODBC管理员相匹配,就需要创建系统DSN。如果在管理员中找不到MS Access驱动程序,则需要下载一个适用于该体系结构的驱动程序。我不确定是否有64位MS Access ODBC驱动程序;如果没有,您将不得不更改应用程序体系结构。

我引用的这篇文章有更多的信息。

另一个注意事项:如果你安装了64位WampServer,它会安装64位的所有东西——Apache、MySQL、PHP。如果你想要一个32位的PHP,请访问PHP下载页面,选择其中一个"win32"版本。在运行应用程序时,不要忘记更改php路径!再加上设置32位ODBC管理员%windir'syswow64'odbcad32.exe,您就可以开始了。