我正在尝试连接位于映射网络驱动器上的微软访问数据库。
如果我复制.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驱动程序]找不到文件'(未知)'。
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驱动程序]不是有效的文件名。
Dbq = 10.50.10.12 / f:/orsdata/ORSDATA.mdb - > SQLSTATE [HY000] SQLDriverConnect:-1044 [Microsoft] [ODBC Microsoft Access驱动程序]不是有效的文件名。
//共享驱动器为Y,映射到F:/ orsdata
Dbq = Y:/ORSDATA.mdb - > SQLSTATE [HY024] SQLDriverConnect:-1023 [Microsoft] [ODBC Microsoft Access驱动程序]'(未知)'不是有效路径。确保路径名拼写正确,并且您已连接到文件所在的服务器。
我尽可能多地阅读尝试连接到映射的驱动器/数据库,但我尝试过的任何东西似乎都无法工作。奇怪的是我可以通过本地计算机上的Excel进入并从网络驱动器中提取数据,但不能通过php / xampp。非常感谢任何帮助。
答案 0 :(得分: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;");
他们都在工作。