You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP连接MS Access ODBC时出现SQL Server访问错误,寻求解决方案

解决PHP odbc_connect连接MS Access时出现SQL Server驱动错误的问题

核心问题定位

你的错误提示明确显示使用的是**[Microsoft][ODBC SQL Server Driver]**,但实际要连接的是MS Access数据库——驱动不匹配是导致这个报错的直接原因。

具体修复步骤

  • 检查ODBC数据源配置
    打开对应版本的ODBC数据源管理器:

    • 若使用32位XAMPP/PHP,运行C:\Windows\SysWOW64\odbcad32.exe
    • 64位PHP则运行C:\Windows\System32\odbcad32.exe
      在「用户DSN」或「系统DSN」中,确认你的Access数据源使用的是Microsoft Access Driver (*.mdb, *.accdb),而非SQL Server相关驱动。如果没有正确的数据源,直接新建一个并指定Access数据库文件路径。
  • 修正PHP连接代码
    确保连接字符串对应Access驱动:

    • 用DSN连接:
      $conn = odbc_connect("你的Access数据源名称", "", ""); // Access通常无需用户名密码,留空即可
      
    • 无DSN直接连接(更灵活):
      $dbPath = "C:\\xampp\\htdocs\\Admin\\your_database.accdb"; // 替换为数据库实际路径,注意双反斜杠转义
      $conn = odbc_connect("Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq=$dbPath;", "", "");
      
  • 权限排查

    • 确保Apache(XAMPP的Web服务)运行用户拥有Access数据库文件所在文件夹的读写权限
    • 若数据库在网络共享目录,同时要检查共享权限和NTFS文件权限是否开放
  • 版本兼容性验证
    32位PHP必须搭配32位Access ODBC驱动,64位PHP搭配64位驱动,二者不能混用。如果系统是64位但装了32位XAMPP,一定要用32位的ODBC管理器配置数据源。

内容的提问来源于stack exchange,提问作者Santosh Singh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 00:31:39