Sqlite SQLite error (10): delayed 150ms for lock/sharing conflict
Je travaille avec Sqlite.
Lorsque je veux insérer des lignes dans une table, je me ramasse de temps en temps ce message dans la fenêtre d'exécution :
Code:
1 2
|
SQLite error (10): delayed 150ms for lock/sharing conflict |
Voici un exemple de mon code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
|
try
{
OracleCommand cmdOracle = varGlobals.dbOracle.CreateCommand();
cmdOracle.CommandText = "SELECT * FROM SITES";
OracleDataReader drOra = cmdOracle.ExecuteReader();
varGlobals.dbSqlite.BeginTransaction();
while (drOra.Read())
{
using (SQLiteCommand SqliteCmd = new SQLiteCommand(varGlobals.dbSqlite.SqliteConnection))
{
SqliteCmd.CommandText = "INSERT INTO SITES (NUMSITE,CODESITE,LIBELLE) VALUES(@NUMSITE,@CODESITE,@LIBELLE)";
SqliteCmd.Parameters.Add("@NUMSITE", DbType.Int32);
SqliteCmd.Parameters[0].Value = int.Parse(drOra["NUMSITE"].ToString());
SqliteCmd.Parameters.Add("@CODESITE", DbType.String);
SqliteCmd.Parameters[1].Value = drOra["CODESITE"].ToString();
SqliteCmd.Parameters.Add("@LIBELLE", DbType.String);
SqliteCmd.Parameters[2].Value = drOra["LIBELLE"].ToString();
SqliteCmd.ExecuteNonQuery();
}
}
varGlobals.dbSqlite.CommitTransaction();
drOra.Close();
drOra.Dispose();
}
catch (Exception ex)
{
throw ex;
} |
Avant cette fonction j'effectue un delete pour vider la table.
Quelqu'un a t'il une idée ?