Я пытался подключиться к базе данных MS Access с помощью PHP PDO с моего веб-сервера Ubuntu, но не смог. Я получил эту ошибку:
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();
}
}
}
Столкнулся и с этим. Я обнаружил, что синтаксис для MS Access немного изменился:
$db = new PDO("odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq=$dbName;Uid=Admin");
Если компоненты PHP активны в системе для использования PDO и ODBC, обратите внимание на следующее.
Правильный синтаксис для подключения:
$db = new PDO("odbc:DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=$dbName; Uid=$dbUser; Pwd=$dbPassword;");
Обратите внимание на разницу, ваш код не отправляет часть Pwd=
.