다음을 통해 공유


방법: Multiple Active Resultsets(MARS)를 사용하지 않도록 설정

PHP 드라이버 다운로드

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

참고 항목

서버에 연결