J'ai un C # dans lequel je crée un lecteur sur une connexion ( ExecuteReader
), puis pour chaque ligne de ce lecteur, effectuez une autre commande (avec ExecuteNonQuery
). Dans ce cas, est-il préférable que j'utilise MultipleActiveResultSets=True
sur ma connexion ou que j'utilise plusieurs connexions?
Réponses
Trop de publicités?Plusieurs MARS) a été ajouté spécialement pour ce type d'opération, de sorte que vous n'avez pas à avoir deux connexions ouvertes en même temps pour être en mesure de lire à partir d'un SqlDataReader ET exécuter d'autres lots.
MARS est compatible avec SQL Server 2005 et au-dessus. Pour citer MSDN docs:
Avant l'introduction de Plusieurs MARS), les développeurs a utiliser plusieurs connexions ou les curseurs côté serveur pour résoudre certains scénarios.
Pour plus d'infos, voir:
Exemple de lecture et de mise à jour des données:
MSDN Library - Manipulation de Données (MARS), faites défiler jusqu'à " la Lecture et la mise à Jour des Données avec MARS