1

誰も私の質問に答えないので、ms access databaseを使用してCodeigniterを使用しているので、codeigniterを使用していない新しい質問をします

コンピューターからmdbを使用している場合は機能しますが、ネットワーク内の別のコンピューターからmdbを使用している場合

エラーが発生しましたこれは私のコードです

<?php

$connect = odbc_connect("testdb", "", "");
$query = "SELECT * FROM ACGroup";
$result = odbc_exec($connect, $query);

while(odbc_fetch_row($result)){
  $name = odbc_result($result, 1);
  echo("$name");
}

?>

ネットワーク内の別のコンピューターからのデータであるodbcを作成します

"testdb" are data sourcename and database \\ip\folder\testdb.mdb

そして私はこのエラーが発生しました

   Warning: odbc_connect() [function.odbc-connect]: SQL error: [Microsoft][ODBC Microsoft Access Driver] 
    The Microsoft Jet database engine cannot open the file '(unknown)'. It is already opened exclusively by another user, or you need permission to view its data.,
     SQL state S1000 in SQLConnect in D:\blabla\coba.php on line 3

すでにフォルダ設定を試しましたが、うまくいきません

4

2 に答える 2

0

使用している ODBC 接続文字列 ( "testdb") では、データベース ドライバーは指定されておらず、データベース ファイルは指定されていません。の適切なフォーマットについて読む必要があります$dsn。( php.net ページには、Access ファイルの例もいくつかあります。)

于 2013-01-14T04:40:47.380 に答える
0

問題は、Apache ユーザーが mdb ファイルに対して持っている権限にある可能性があります。

mdb ファイルに移動し、ファイルを右クリック -> [プロパティ] -> [セキュリティ] タブで、Apache ユーザーが mdb ファイルへのアクセス/制御を持つユーザー グループに属しているかどうかを確認します。

Apache ユーザーを表示/変更するには、[コントロール パネル] -> [管理ツール] -> [サービス] に移動し、[Apache サービス] -> [プロパティ] -> [ログオン] タブを右クリックします。[ログオン] オプションで、選択したユーザーが mdb ファイルにアクセスできるユーザー グループに属しているかどうかを確認します。そうでない場合は、アカウントを作成してユーザー グループに追加し、それを Apache アカウントとして使用します。

于 2015-11-13T09:57:56.200 に答える