0

我正在尝试连接驻留在映射网络驱动器上的 microsoft access 数据库。

如果我复制 .mdb 文件并将其放在本地,我在连接和运行查询时没有问题,但是一旦我尝试连接到网络上的实时版本,我就会失败。

这是我所拥有的

//作品

try {
    $dbh = new PDO("odbc:Driver={Microsoft Access Driver (*.mdb)};Dbq=C:/xampp/htdocs/inventory/ORSDATA.mdb;Uid=; Pwd=;");
    }
catch (PDOException $e)
    {

//不起作用

try {
    $dbh = new PDO("odbc:Driver={Microsoft Access Driver (*.mdb)};Dbq=cerfs1/f:/orsdata/ORSDATA.mdb;Uid=; Pwd=;");
    }
catch (PDOException $e)
    {

其中 cerfs1 是服务器的名称 f: 是实际的服务器驱动器号 /orsdata 是服务器文件夹,而 orsdata.mdb 是数据库。

我使用共享驱动器号 Y:/orsdata.mdb 和 IP 地址 (10.50.10.12) 代替 cerfs1 尝试了多种变体。我收到以下错误:

Dbq=//cerfs1/orsdata/ORSDATA.mdb -> SQLSTATE[HY000] SQLDriverConnect: -1811 [Microsoft][ODBC Microsoft Access Driver] 找不到文件“(未知)”。

Dbq=//cerfs1/f:/orsdata/ORSDATA.mdb ->SQLSTATE[HY024] SQLDriverConnect: -1023 [Microsoft][ODBC Microsoft Access Driver] '(unknown)' 不是有效路径。确保路径名拼写正确并且您已连接到文件所在的服务器。

Dbq=cerfs1/f:/orsdata/ORSDATA.mdb ->SQLSTATE[HY000] SQLDriverConnect: -1044 [Microsoft][ODBC Microsoft Access Driver] 不是有效的文件名。

Dbq=10.50.10.12/f:/orsdata/ORSDATA.mdb -> SQLSTATE[HY000] SQLDriverConnect: -1044 [Microsoft][ODBC Microsoft Access Driver] 文件名无效。

//Shared Drive 是 Y 映射到 F:/orsdata

Dbq=Y:/ORSDATA.mdb -> SQLSTATE[HY024] SQLDriverConnect: -1023 [Microsoft][ODBC Microsoft Access Driver] '(unknown)' 不是有效路径。确保路径名拼写正确并且您已连接到文件所在的服务器。

我尽可能多地阅读有关尝试连接到映射驱动器/数据库的内容,但我尝试过的任何尝试似乎都不起作用。奇怪的是,我可以通过本地计算机上的 Excel 进入并从网络驱动器中提取数据,但不能通过 php/xampp。很感谢任何形式的帮助。

4

1 回答 1

1

我有以下连接到本地驱动器上的数据库文件:

$dbName = $_SERVER["DOCUMENT_ROOT"] . "\Includes\fileName.mdb";

还有那些用于连接到网络驱动器上的数据库文件的:

$dbName = "\\\\server\folder\application\fileName.mdb";
$dbName = "P:\application\fileName.mdb";

其次是:

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

他们都在工作。

于 2015-07-08T15:33:10.587 回答