Procedura: Disabilitare più set di risultati attivi (MARS)
Se è necessario connettersi a un'origine dati SQL Server che non abilita più set di risultati attivi (MARS, Multiple Active Result Sets), è possibile usare l'opzione di connessione MultipleActiveResultSets per disabilitare o abilitare più set di risultati attivi.
Procedura
Per disabilitare il supporto MARS
Usare l'opzione di connessione seguente:
'MultipleActiveResultSets'=>false
Se l'applicazione tenta di eseguire una query su una connessione con un set di risultati attivo aperto, il secondo tentativo di query restituirà le informazioni di errore seguenti:
La connessione non può elaborare questa operazione perché è presente un'istruzione con risultati in sospeso. Per rendere disponibile la connessione per altre query recuperare tutti i risultati, annullare o liberare l'istruzione. Per altre informazioni sull'opzione di connessione MultipleActiveResultSets, vedere Connection Options.
Esempio di SQLSRV
L'esempio seguente mostra come disabilitare il supporto di MARS usando il driver SQLSRV dei driver Microsoft per PHP per 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);
?>
Esempio di PDO_SQLSRV
L'esempio seguente mostra come disabilitare il supporto di MARS usando il driver PDO_SQLSRV dei driver Microsoft per PHP per 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;
?>