如何使用Laravel从Access DB读取数据

问题描述 投票:2回答:1

我想通过我的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驱动程序的屏幕截图:

phpinfodrivers

ODBC x64ODBC x86

可能是司机,有人可以帮助我吗?

我这样解决并在数据库文件中输入了PDO连接:

'access' => [
            'driver' => 'odbc',
            'dsn' => 'DRIVER={Microsoft Access Driver (*.mdb, *.accdb)}; DBQ=C:\Temp\test.mdb;',
            'database' => 'test.mdb',
            'username' => '',
            'password' => ''
        ]
php mysql laravel ms-access database-connection
1个回答
0
投票

我很高兴您解决了这个问题,因为我也想从我的.accdb文件中获取数据。我尝试了您发布的代码:

'access' => [
        'driver' => 'odbc',
        'dsn' => 'DRIVER={Microsoft Access Driver (*.mdb, *.accdb)}; DBQ=C:\Temp\test.mdb;',
        'database' => 'test.mdb',
        'username' => '',
        'password' => ''
    ]

但是我收到了laravel消息:找不到驱动程序你能给我一个提示吗?非常感谢!

© www.soinside.com 2019 - 2024. All rights reserved.