0

BDE Administrator と Access 2007 がインストールされた Win XP ボックスを使用しています。問題なく既存の Paradox テーブルを開いて選択クエリを実行できますが、INSERT/UPDATE を試みると非常に奇妙な動作が発生します。新しい Paradox テーブルを作成することもでき、同じ動作をします。サンプルコードは次のとおりです。

 ' create new table
conObj.Execute "CREATE TABLE test (id INT, comment VARCHAR(30))"

' first insert works fine
conObj.Execute "INSERT INTO test VALUES (1, 'something')"

' second insert fails for unknown reason
conObj.Execute "INSERT INTO test VALUES (2, 'something else')"

Jet 4.0、MS Access Paradox ドライバー、およびネイティブ Paradox ドライバーの接続文字列を使用してみましたが、すべて同じ結果が得られます。2 番目の挿入ステートメントでは、エラーがスローされます。

操作は更新可能なクエリでなければなりません

フォーラムやヘルプ サイトのページで、このエラーはファイルのアクセス許可の問題が原因であるという多数の投稿を読みました。このスクリプトを実行するアカウントは管理者グループの一部であり、ファイルのアクセス許可を変更して、Everyone グループに db ファイルのフル コントロールを許可しましたが、何も変わりません。

Microsoft サポートが公開したこのページでは、問題は解決されませんでした: http://support.microsoft.com/kb/175168

さらに、新しいテーブルを作成できますが、PRIMARY KEY または UNIQUE フィールドを作成しようとすると、次のようなエラー メッセージが表示されます。

「Index_[ランダムな文字] は有効な名前ではありません。」

4

2 に答える 2

0

私は Paradox データベースについてあまり知りませんが、これは確かに学習経験でした。table.db という名前のテーブル ファイルがありますが、1 行以上のデータを格納するには不十分です。paradox データベースを挿入または更新するには、他にもいくつかのファイルが必要です。

table.DB
table.PX
table.VAL
table.XG0
table.XG1
table.YG0
table.YG1

私は paradox データベースを生成する別のプログラムを調べていて、そこから空白のデータベースを、それが生成した他のファイルと一緒にコピーしたときに、問題なく挿入および更新できることを発見しました。これらのファイルの目的や、挿入または更新するために存在する必要がある理由はわかりませんが、存在することで問題が解決しました。

于 2013-04-10T13:03:38.697 に答える
0

「CREATE TABLE test (id INT, comment VARCHAR(30), primary key(id))」を試してください

于 2013-04-04T23:06:15.940 に答える