[pgsql-jp: 38224] Npgsqlにて ERROR: 57014: canceling statement due to user request が多発

daemon daemon_kun2000 @ yahoo.co.jp
2007年 3月 26日 (月) 20:23:37 JST


はじめまして。
どうにも解決出来ない事があってメーリングリストに入会させて頂きました。

Npgsqlを使用してWindowsアプリケーションの開発を行おうとしています。

開発環境:WindowsXP
言語:VisualStudioExpress C#(VS2005)
PostgreSQLのバージョン:8.2.2(Windows版)
Npgsqlのバージョン:1.0.0

困っているのはテーブル間でのデータの受け渡しです。
テーブルAの内容をテーブルBへ一括INSERTしようとすると

ERROR: 57014: canceling statement due to user request

とエラーメッセージが出て中断されてしまいます。
ユーザーによってリクエストが取り消された、といった内容だと思うのですが、特にトランザクションをロールバックするといったようなことはしていません。
テーブルAのデータの件数は10万〜20万でかなり多いので
接続文字列TimeOutとCommandTimeOutの時間を300秒に変更してみたのですがうまくいきませんでした。

Npgsql.NpgsqlConnection con = new Npgsql.NpgsqlConnection();
con.ConnectionString = "Server=localhost; Database=hogedb:user=hoge_kun; 
password=hoge_san; TimeOut=300; CommandTimeOut=300";

Npgsql.NpgsqlCommand cmd = new Npgsql.NpgsqlCommand("テーブルA->テーブルB 
INSERTコマンド文",con);

con.Open();

Npgsql.NpgsqlTransaction tran = con.BeginTransaction();

cmd.Transaction = tran;

cmd.ExcecuteNonQuery();

tran.Commit();

con.Close();

とこのような感じになります。これを実行すると

Npgsql.NpgsqlException ERROR: 57014: canceling statement due to user 
request

と例外が発生します。

ネットで検索して見たのですが、参考になる物が見つからなくて困っています。
どうかよろしくお願いいたします。 





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