[pgsql-jp: 38114] NpgsqlとODBCによるPostgreSQLへのアクセスエラー

Nobuaki Inamura inamuran36 @ mahikari.or.jp
2007年 3月 8日 (木) 00:27:25 JST


稲村と申します。お世話になっております。

PostgreSQLとACCESSの併用で問題が発生しております。
お力をお借りしたくメールさせて頂きました。

こちらの環境は以下です。
DBサーバ:Debian3.1 PostgreSQL7.4(DELL PowerEdge830)
クライアント1:VB.NET + npgsql0.71 or Npgsql1.0
クライアント2:Access2000 + ODBC8.02.00.02

(VB.NETのプログラムでは、Npgsqlの接続文字列にPooling=falseとしてidleプロセスが残らないように
したり、データベースへの変更はすべてトランザクション処理をしています。)

問題の現象は次の操作によって発生します。
(操作対象は「table1」と「table2」という2つのテーブルです)

まず、クライアント1から「table1」に対して変更をします。
この変更によって、「table1」は変更、「table2」には変更点を追加記録(ログ)するようになっています。
その後、クライアント2から同じように「table1」に対して変更(table2に追加)を行おうとすると、
「エラーが発生しました。他のユーザが同じデータに対して同時に変更を試みているので、
プロセスが停止しました。」
というエラーで止まってしまいます。

クライアント1とクライアント2を同じユーザで接続してみましたが、やはり同じエラーがでました。
クライアント2では何回やっても正常に動作が完了します。
クライアント1で変更されていないレコードに対してはクライアント2からの変更は可能でした。

idleプロセスが悪さをしているのかと思い、全てKillなどして試してみたのですが、
それでも解消されませんでした。

考えられる原因ではどのようなものがあるのでしょうか?
よろしくお願いいたします。

-- 
Nobuaki Inamura : inamuran36 @ mahikari.or.jp




pgsql-jp メーリングリストの案内