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 はデータベースです。

cerfs1 の代わりに、共有ドライブ文字 Y:/orsdata.mdb と IP アドレス (10.50.10.12) を使用して、さまざまなバリエーションを試しました。次のエラーが表示されます。

Dbq=//cerfs1/orsdata/ORSDATA.mdb -> SQLSTATE[HY000] SQLDriverConnect: -1811 [Microsoft][ODBC Microsoft Access Driver] ファイル '(unknown)' が見つかりませんでした。

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 に答える