SLQ MARS: Cómo Realizar Múltiples Consultas Sobre una Misma Conexión Activa en SQL 2005



La característica MARS (Multiple Active Result Sets) que implementa la SQL Server 2005 te permite realizar varias consultas simultáneas sobre una misma conexión activa. Para ello debes de activar la opción dentro de la cadena de conexión, agregando este código:

MultipleActiveResultSets=True

 

Por ejemplo:

ConnectionString=»Data Source=Server07;Initial Catalog=mydata;Persist Security Info=True;MultipleActiveResultSets=True;User ID=xyz;password=1234″

 

En caso de no activar esta opción dentro de la cadena de conexión se presentará el siguiente mensaje de error:

There is already an open DataReader associated with this Command which must be closed first

De este modo si tienes un proceso que involucra la realización de varias consultas simultáneas, ya no tienes que cerrar la conexión cada vez que ejecutes un Datareader, ahora puedes aprovechar la conexión abierta y usar la característica MARS de SQL Server 2005 y de paso mejorar el rendimiento de tu proceso.