PHP ODBC connect()到Access - 架构不匹配

Ale*_*ski 11 php ms-access odbc

我现在用Google搜索了几个小时.

我读过无数文章,例如:Access是否有Windows 7 ODBC驱动程序?

我尝试过使用ODBC管理员 - 并且已成功为两者添加系统DSN:

  • Microsoft Access数据库
  • 微软做Access数据库

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

odbc_connect('Aquarius2', '', '');
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

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

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

我没有想法 - 我错过了什么?

问候,亚历克斯

boh*_*ica 18

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

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

然后,一旦确定需要启动正确的ODBC管理员 - 其中有2个,一个用于32位,一个用于64位.64位ODBC管理员位于管理工具,控制面板和32位一个位于%windir\syswow64\odbcad32.exe.

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

我引用的文章有更多信息.

  • 原来我运行的PHP版本是针对WIN64的 - 甚至没有发生可能是问题,但安装WIN32版本似乎修复了不匹配.非常感谢 :) (2认同)