C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 14 を表示中)
■4858 / )  C# & SQLite /transactionするには?
□投稿者/ kaburk (1回)-(2007/06/27(Wed) 19:07:46)

分類:[C# (Windows)] 

Visual C# 2005 Express Edition にて ADO.NET 2.0 Provider for SQLite(http://sqlite.phxsoftware.com/)を利用しています。

TableAdapterにてINSERTやupdateするとどうも更新が遅いので、Googleで調べたら

> http://journal.mycom.co.jp/special/2004/php5/007.html
> SQLiteでは明示的にトランザクションを開始しない限り、INSERT処理の前後に必ず"BEGIN"、"COMMIT"が実行される。

とのことでした。

C#でこれを回避したいのですが、どんな感じのやり方でコーディングしたらいいんでしょうか??

トランザクション管理に System.Transactions というのがあるようで、試しに
http://www.microsoft.com/japan/msdn/thisweek/300x10/phase3/Transaction_Scope/cs.aspx
を参考に適用してみました。
が、トランザクションは発行されているみたいですが、いざDataSetからGetData等すると「'System.Data.SQLite.SQLiteException' の初回例外が System.Data.SQLite.dll で発生しました。」「The database file is locked」「database is locked」となってしまい、どうしたもんだか、という感じです。

アドバイスいただけたら幸いです。
返信 編集キー/


管理者用

- Child Tree -