2013-06-12 69 views
0

我試圖連接駐留在映射網絡驅動器上的Microsoft Access數據庫。連接到Xampp本地網絡上的Microsoft Access .mdb

如果我複製.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的名字:是實際的服務器驅動器letter/orsdata是服務器文件夾,orsdata.mdb是數據庫。

我嘗試過使用共享驅動器盤符Y:/orsdata.mdb和IP地址(10.50.10.12)而不是cerfs1的衆多變體。我收到以下錯誤:

DBQ = // cerfs1/orsdata/ORSDATA.mdb - > SQLSTATE [HY000]的SQLDriverConnect:-1811 [微軟] [ODBC Microsoft Access驅動程序]無法找到文件(未知) 」。

DBQ = // cerfs1/F:/orsdata/ORSDATA.mdb - > SQLSTATE [HY024]的SQLDriverConnect:-1023 [微軟] [ODBC Microsoft Access驅動程序] '(未知)' 是不是有效的路徑。確保路徑名拼寫正確,並且您已連接到文件所在的服務器。

DBQ = cerfs1/F:/orsdata/ORSDATA.mdb - > SQLSTATE [HY000]的SQLDriverConnect:-1044 [微軟] [ODBC Microsoft Access驅動程序]不是一個有效的文件名。

DBQ = 10.50.10.12/F:/orsdata/ORSDATA.mdb - > SQLSTATE [HY000]的SQLDriverConnect:-1044 [微軟] [ODBC Microsoft Access驅動程序]不是一個有效的文件名。

//共享驅動器,其被映射到F Y:/ orsdata

DBQ = Y:/ORSDATA.mdb - > SQLSTATE [HY024]的SQLDriverConnect:-1023 [微軟] [ODBC Microsoft Access驅動程序]'(未知)'不是有效的路徑。確保路徑名拼寫正確,並且您已連接到文件所在的服務器。

我儘可能多地閱讀嘗試連接映射的驅動器/數據庫,但沒有任何我已經嘗試似乎工作。奇怪的是,我可以通過本地計算機上的Excel進入,並從網絡驅動器中取出數據,但不通過php/xampp。很感謝任何形式的幫助。

+0

如何將所有正斜槓更改爲反斜槓? – ChrisW

+0

感謝ChrisW的想法,雖然 – nodsdorf

+1

已經有一段時間了,因爲我在Windows中創建了ODBC連接 - 數據源中的連接似乎工作正常嗎? – ChrisW

回答

0

我有以下用於連接到數據庫文件的本地驅動器上:

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

他們都在工作。

相關問題