Compartir a través de


Procedimientos: Desactivación de los conjuntos de resultados activos múltiples (MARS)

Descargar controlador PHP

Si necesita conectarse a un origen de datos de SQL Server que no habilite conjuntos de resultados activos múltiples (MARS), puede utilizar la opción de conexión MultipleActiveResultSets para deshabilitar o habilitar MARS.

Procedimiento

Pasos para deshabilitar la compatibilidad con MARS

  • Utilice la opción de conexión siguiente:

    'MultipleActiveResultSets'=>false  
    

    Si la aplicación trata de ejecutar una consulta en una conexión que tiene un conjunto de resultados activo pendiente, el segundo intento de consulta devolverá la información de error siguiente:

    La conexión no puede procesar esta operación porque no hay una instrucción con resultados pendientes. Para que la conexión esté disponible en otras consultas, capture todos los resultados, o bien cancele o libere la instrucción. Para obtener más información sobre la opción de conexión MultipleActiveResultSets, consulte Connection Options.

Ejemplo de SQLSRV

En el ejemplo siguiente se muestra cómo deshabilitar la compatibilidad con MARS utilizando el controlador SQLSRV de los Controladores de Microsoft para PHP para SQL Server.

<?php  
/* Connect to the local server using Windows Authentication and  
specify the AdventureWorks database as the database in use. */  
$serverName = "MyServer";  
$connectionInfo = array( "Database"=>"AdventureWorks", 'MultipleActiveResultSets'=> false);  
$conn = sqlsrv_connect( $serverName, $connectionInfo);  
if( $conn === false )  
{  
   echo "Could not connect.\n";  
   die( print_r( sqlsrv_errors(), true));  
}  
  
sqlsrv_close( $conn);  
?>  

Ejemplo de PDO_SQLSRV

En el ejemplo siguiente se muestra cómo deshabilitar la compatibilidad con MARS con el controlador PDO_SQLSRV de Controladores de Microsoft para PHP para SQL Server.

<?php  
// Connect to the local server using Windows Authentication and AdventureWorks database  
$serverName = "(local)";   
$database = "AdventureWorks";  
  
try {  
   $conn = new PDO(" sqlsrv:server=$serverName ; Database=$database ; MultipleActiveResultSets=false ", NULL, NULL);   
   $conn->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );   
}  
  
catch( PDOException $e ) {  
   die( "Error connecting to SQL Server" );   
}  
  
$conn = null;   
?>  

Consulte también

Conexión al servidor