Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从Xampp local连接到网络上的Microsoft Access.mdb_Php_Pdo - Fatal编程技术网

Php 从Xampp local连接到网络上的Microsoft Access.mdb

Php 从Xampp local连接到网络上的Microsoft Access.mdb,php,pdo,Php,Pdo,我正在尝试连接位于映射网络驱动器上的microsoft access数据库 如果我复制.mdb文件并将其放在本地,我在连接和运行查询时没有问题,但只要我尝试连接到网络上的实时版本,我就会失败 这是我的 //工作 try { $dbh = new PDO("odbc:Driver={Microsoft Access Driver (*.mdb)};Dbq=C:/xampp/htdocs/inventory/ORSDATA.mdb;Uid=; Pwd=;"); } catch (PD

我正在尝试连接位于映射网络驱动器上的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]'(未知)不是有效路径。确保路径名拼写正确,并且已连接到文件所在的服务器

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]不是有效的文件名

//共享驱动器是映射到F:/orsdata的Y

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


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

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

$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;");

所有这些都正常工作。

将所有正向斜杠改为反向斜杠如何?感谢您的想法,尽管我在Windows中创建ODBC连接已经有一段时间了,但同样的问题仍然存在-数据源中的连接是否正常?是的,我可以使用Excel通过“来自Microsoft查询”通过映射的Y驱动器检索数据“数据源连接”选项卡。谢谢你的跟进。你试过UNC路径吗?Apache/IIS(您曾经使用过的)用户是否有权读取/写入.mdb文件的文件夹?