如何使用 PHP 连接到 Microsoft Access 数据库?

如何使用 PHP 连接到 Microsoft Access 数据库?

我尝试使用 PHP PDO 从我的 ubuntu 网络服务器连接到 MS Access 数据库,但无法连接。我收到此错误:

Connexion Access échouée : SQLSTATE[IM002] SQLDriverConnect: 0 [unixODBC][Driver Manager]Data source name not found, and no default driver specified

我的连接类别是:

class GesEcoleService{
    var $dsn;
    var $user;
    var $password;
    var $dbh;

    public function Connect(){
        $this->dsn = 'odbc:Driver={Microsoft Access Driver (*.mdb)};Dbq=/var/www/rep/bd/GesEcoles.mdb;Uid=';
        $this->user = '';
        $this->password = '';

    try {
        $this->dbh = new PDO($this->dsn, $this->user, $this->password);

    }
    catch (PDOException $e) {
        echo 'Connexion Access échouée  : ' . $e->getMessage();
    }
  }
}

答案1

也遇到了这个问题。我发现 MS Access 的语法略有变化:

$db = new PDO("odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq=$dbName;Uid=Admin");

答案2

如果系统中的 PHP 组件处于活动状态以使用 PDO 和 ODBC,请查看以下内容。

连接的正确语法是:

$db = new PDO("odbc:DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=$dbName; Uid=$dbUser; Pwd=$dbPassword;");

观察差异,您的代码没有发送该Pwd=部分。

相关内容