1

DBF 形式のデータベースがあり、ODBC を使用してデータベースにアクセスします。テーブルを更新すると、エラーが返されます:

警告: odbc_execute() [function.odbc-execute]: SQL エラー: [Microsoft][ODBC dBase Driver] インデックスが見つかりません。16 行目の C:\xampp\htdocs\payroll\index.php の SQLExecute で SQL 状態 S0012

エラーメッセージによると、インデックスが見つからないようです。それは何の指標ですか?直し方?以下は、クエリを実行するために使用する PHP スクリプトです。

$odbc = odbc_connect ('payroll', '', '') or die('Error connecting to server. Server says: '.odbc_errormsg());

$upd_q = "UPDATE paytran SET empno = 22 WHERE empno = 888";
$update = odbc_prepare($odbc, $upd_q);
$result = odbc_execute($update);

odbc_close($odbc);

新しいレコードを挿入するために同じ方法が使用されました。挿入クエリは正常に機能しますが、DELETE および UPDATE クエリでは機能しません。

4

1 に答える 1

2

このスレッドの最後の投稿によると、

最近 .dbf ファイルを持っている場合、多くの場合、それは FoxPro アプリケーションからのものです。また、.cdx ファイルがあるため、それは FoxPro 複合インデックス ファイルであり、dBASE はそれを使用できず、クエリで必要な速度の利点を得るためにそれを利用することはできません。

ファイルはあり.cdxますか?その場合は、使用しているバージョンを確認してから、FoxPro ドライバーまたは OLE DB プロバイダーを見つけて、ODBC の代わりに使用することをお勧めします。ここここにそれを行う方法に関する情報があります; ドライバーと DB プロバイダーはこちらです。

于 2013-01-31T09:22:52.323 に答える