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 : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
SQLite error (10): delayed 150ms for lock/sharing conflict
Voici un exemple de mon code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 ?