我想通过我的laravel项目读取MDB访问文件的数据。我正在尝试使用本地文件,但出现此错误:
找不到数据库文件。
我的测试代码是:
$dbName = $_SERVER["DOCUMENT_ROOT"] . "C:\Temp\test.mdb";
if (!file_exists($dbName)) {
die("Could not find database file.");
}
$db = new PDO("odbc:DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=$dbName; Uid='Admin'; Pwd=;");
和
try
{
$db = new PDO("odbc:DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=C:\Temp\test.mdb; Uid=; Pwd=;");
}
catch(PDOException $error_mess)
{
echo $error_mess->getMessage();
}
有错误:
SQLSTATE [IM002] SQLDriverConnect:0 [Microsoft] [Driver Manager ODBC]不能完全确定驱动程序名称或规范。
我设法从访问文件开始并按照本指南进行操作:Exporting Access Data to MySQL使两个数据库进行通信。
我不想使用此方法。我想读的是来自laravel的数据库访问。这是可能的?你能帮我吗?
以下是我的phpinfo和ODBC驱动程序的屏幕截图:
可能是司机,有人可以帮助我吗?
我这样解决并在数据库文件中输入了PDO连接:
'access' => [
'driver' => 'odbc',
'dsn' => 'DRIVER={Microsoft Access Driver (*.mdb, *.accdb)}; DBQ=C:\Temp\test.mdb;',
'database' => 'test.mdb',
'username' => '',
'password' => ''
]
我很高兴您解决了这个问题,因为我也想从我的.accdb文件中获取数据。我尝试了您发布的代码:
'access' => [
'driver' => 'odbc',
'dsn' => 'DRIVER={Microsoft Access Driver (*.mdb, *.accdb)}; DBQ=C:\Temp\test.mdb;',
'database' => 'test.mdb',
'username' => '',
'password' => ''
]
但是我收到了laravel消息:找不到驱动程序你能给我一个提示吗?非常感谢!