Cursor fonctionnant avec EnterpriseLibrary mais pas SqlClient (ASP.NET 2 - SQL 2000)
Bonjour a tous,
J'ai un probleme plutot etrange, j'ai une SP (gros curseur) qui fonctionne bien en employant le domaine name Microsoft.Practices.EnterpriseLibrary.Data mais pas avec le System.Data.SqlClient;
J'ai fait un test avec une SP qui n'utilise pas de curseur (simple INSERT) et qui parcontre marche bien.
Je n'ai aucun crash, juste le curseur qui devient 'read-only'.
Voici le code plutot trivial que j'utilise:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
string strSQL = ConfigurationManager.ConnectionStrings["MyCS"].ConnectionString.ToString();
SqlConnection sqlCon = new SqlConnection(strSQL);
SqlCommand cmd = new SqlCommand();
cmd.Connection = sqlCon;
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "SP_AvecGrosCurseur";
cmd.CommandTimeout = 90;
cmd.Parameters.Clear();
cmd.Parameters.AddWithValue("@CampaignDate", DateTime.Now);
...
sqlCon.Open();
cmd.ExecuteNonQuery();
sqlCon.Close(); |
Faut-il ajouter qqch pour imposer un "Do Cursor" a mon ExecuteNonQuery()???
Pour info, je souhaite reecrire cette partie du code en vue de l'utilisation d'un BeginExecuteNonQuery qui n'est pas disponible dans l'EnterpriseLibrary, car la query peut prendre 40/50 secondes pour s'executer.
La reecriture de la query n'est pas actuelle meme si elle utilise un curseur!
Merci de votre attention ;)