0

PHP 経由で Access データベースへの接続を確立する必要がありますが、試行するたびに次のエラーが発生します。

致命的なエラー: キャッチされない例外 'com_exception'

メッセージ付き:

'ソース: Microsoft OLE DB
Service Components
説明: Das Format der Initialisierungszeichenfolge entspricht nicht den OLE DB-Angaben.' in E:\path\to\phpfile.php:93
スタック トレース: #0 E:\path\to\phpfile.php(93): com->Open('DRIVER={Microso...') #1 { main} が投入されました

ドイツ語のテキストは、「初期化文字列の形式は、OLE DB ステートメントでは一般的ではありません。

私の接続コードは次のようになります

$db = 'DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("\") & ("\\db\\db.mdb") & ";"';
$conn = new COM("ADODB.Connection"); 
$conn->Open($db);

何が悪いのかわかりません。純粋な ASP では正常に動作しますが、PHP では動作しません。

前もって感謝します

4

2 に答える 2

2

「ADODB.Connection」モジュールを使用する代わりに、PDO を使用してください。これが現在のところ最良のオプションであり、ベスト プラクティスであるためです。ドキュメントは次のとおりです: http://php.net/manual/en/book.pdo.php

ただし、PDO が適していない場合は、ネイティブ PHP モジュールである ODBC (PDO RECOMMENDED) を参照してください。ドキュメントは次のとおりです: http://php.net/manual/en/book.uodbc.php
接続を開始するには、次のようにします。 $connection = odbc_connect("Driver={Microsoft Access Driver (*.mdb)};Dbq=$mdbFilename", $user, $password);

于 2013-02-05T17:04:53.810 に答える
1

代わりにPDOを使用してください。ODBC経由で接続できます:

$pathToMDB = "path/to/db.mdb";
$db = new PDO("odbc:Driver={Microsoft Access Driver (*.mdb)};Dbq=$pathToMDB", 'admin');
于 2013-02-05T23:59:54.803 に答える