如何:停用 Multiple Active Resultsets (MARS)。
如果您需要連接到未啟用 Multiple Active Result Sets (MARS) 的 SQL Server 資料來源,您可以使用 MultipleActiveResultSets 連接選項來停用或啟用 MARS。
程序
停用 MARS 支援
使用下列連接選項:
'MultipleActiveResultSets'=>false
如果您的應用程式嘗試在連接上執行具有開啟的作用中結果集的查詢,第二個查詢嘗試將會傳回下列錯誤資訊:
連接無法處理這項作業,因為有某個陳述式具有擱置的結果。 若要讓連接可供其他查詢使用,請擷取所有結果,並取消或釋放陳述式。 如需 MultipleActiveResultSets 連接的詳細資訊,請參閱 Connection Options。
SQLSRV 範例
下列範例說明如何使用 Microsoft Drivers for PHP for SQL Server 的 SQLSRV 驅動程式停用 MARS 支援。
<?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 範例
下列範例說明如何使用 Microsoft Drivers for PHP for SQL Server 的 PDO_SQLSRV 驅動程式停用 MARS 支援。
<?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;
?>