Nasıl yapılır: Birden Çok Etkin Sonuç Kümesini Devre Dışı Bırakma (MARS)

PHP sürücüsünü indirme

Birden Çok Etkin Sonuç Kümesini (MARS) etkinleştirmeyen bir SQL Server veri kaynağına bağlanmanız gerekiyorsa, MARS'ı devre dışı bırakmak veya etkinleştirmek için MultipleActiveResultSets bağlantı seçeneğini kullanabilirsiniz.

Procedure

MARS desteğini devre dışı bırakmak için

  • Aşağıdaki bağlantı seçeneğini kullanın:

    'MultipleActiveResultSets'=>false  
    

    Uygulamanız açık etkin sonuç kümesine sahip bir bağlantıda sorgu yürütmeye çalışırsa, ikinci sorgu girişimi aşağıdaki hata bilgilerini döndürür:

    Bekleyen sonuçlara sahip bir ifade olduğundan, bağlantı bu işlemi gerçekleştiremiyor. Bağlantıyı diğer sorgularda kullanılabilir hale getirmek için tüm sonuçları getirin, deyimi iptal edin veya serbest bırakın. MultipleActiveResultSets bağlantı seçeneği hakkında daha fazla bilgi için bkz. Bağlantı Seçenekleri.

SQLSRV örneği

Aşağıdaki örnekte, SQL Server için PHP için Microsoft Sürücüleri'nin SQLSRV sürücüsünü kullanarak MARS desteğini devre dışı bırakma gösterilmektedir.

<?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);  
?>  

PDO_SQLSRV örnek

Aşağıdaki örnekte, SQL Server için PHP için Microsoft Drivers'ın PDO_SQLSRV sürücüsünü kullanarak MARS desteğini devre dışı bırakma gösterilmektedir.

<?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;   
?>  

Ayrıca Bkz.

Sunucuya Bağlanma