PHPを使用したMS Access DBへの接続

私はPHPでMS Accessデータベースにアクセスする必要があります。

MSAccessファイルの名前が変更される可能性がありますので、PHP.netに表示されているDSNなしの接続文字列を使用しようとしています。

$mdbFilename='test.mdb';
$user = '';
$password = '';
$connection = odbc_connect("Driver={Microsoft Access Driver (*.mdb)};Dbq=$mdbFilename", $user, $password);

私はエラーが発生しています。

Warning: odbc_connect(): SQL error: [Microsoft][ODBC Microsoft Access Driver] Could not find file '(unknown)'., SQL state S1000 in SQLConnect in ...

私はそのファイルに接続するための助けが必要です。

(ファイル拡張子が ".mdb"でない場合は何をすべきか、 ".bws"のようなものです)

ありがとう

0

1 答え

dbqパラメータのファイル名だけでなく、完全なパスが必要だと思います。他のすべては大丈夫です。 .mdbは、アクセスデータベースファイルの標準拡張です。 .bwsはディスクイメージファイルです。あなたはそれを使用する前に、Daemon Toolsのようなものでファイルを解凍する必要があるかもしれません。

Windows Vistaまたは7のシンボリックリンクの構文は次のとおりです

MKLINK [[/D] | [/H] | [/J]] Link Target

    /D      Creates a directory symbolic link.  Default is a file
            symbolic link.
    /H      Creates a hard link instead of a symbolic link.
    /J      Creates a Directory Junction.
    Link    specifies the new symbolic link name.
    Target  specifies the path (relative or absolute) that the new link
            refers to.

ネットワーク共有や別のOSでは動作しませんが、ハードリンク(/ H)を使用すると、実際のものと区別できないODBCドライバのターゲットを作成できます。

2
追加された
.bwsは実際にディスクイメージではありません。何人かの馬鹿が拡張子の名前を変更しました。しかし、私はそれを別のプログラムのように必要としているので、そのまま使用する必要があります。
追加された 著者 Sinan,
馬鹿は正しい!
追加された 著者 Sinthia V,
名前を変更せずに名前を変更する必要がある場合はsymlink( man ln
追加された 著者 Louis,
PHP - 日本のコミュニティ [ja]
PHP - 日本のコミュニティ [ja]
4 参加者の

このグループではPHPについて話します。 パートナー:kotaeta.com