sqlsrv_connect

연결 리소스를 만들어 연결을 엽니다. 기본적으로 Windows 인증을 사용하여 연결이 시도됩니다.

구문

sqlsrv_connect( string $serverName [, array $connectionInfo])

매개 변수

$serverName: 연결을 설정할 서버의 이름을 지정하는 문자열입니다. 인스턴스 이름(예: "myServer\instanceName") 또는 포트 번호(예: "myServer, 1521")를 이 문자열의 일부로 포함할 수 있습니다. 이 매개 변수의 사용 가능한 옵션에 대한 자세한 내용은 SQL Native Client에서 연결 문자열 키워드 사용(Using Connection String Keywords with SQL Native Client)의 ODBC 드라이버 연결 문자열 키워드(ODBC Driver Connection String Keywords) 섹션에서 서버 키워드를 참조하십시오.

$connectionInfo [옵션]: 연결 특성을 포함하는 결합형 array입니다(예: array("Database" => "AdventureWorks")). 다음 표에서는 지원되는 배열 키에 대해 설명합니다.

설명 기본값

APP

String

추적에 사용되는 응용 프로그램 이름입니다.

설정된 값이 없습니다.

CharacterSet

String

서버에 데이터를 전송하는 데 사용되는 문자 집합을 지정합니다. 이 키는 SQL Server Driver for PHP 1.1 버전의 새로운 기능입니다.

자세한 내용은 방법: 기본 제공 UTF-8 지원을 사용하여 UTF-8 데이터 전송 및 검색을 참조하십시오.

SQLSRV_ENC_CHAR

ConnectionPooling

연결 풀링을 설정하는 경우 1 또는 true

연결 풀링을 해제하는 경우 0 또는 false

연결을 연결 풀에서 할당하는지(1 또는 true) 아닌지(0 또는 false)를 지정합니다.

true (1)

Database

String

설정하려는 연결에 사용할 데이터베이스의 이름을 지정합니다1.

사용할 로그인의 기본 데이터베이스입니다.

Encrypt

암호화를 설정하는 경우 1 또는 true

암호화를 해제하는 경우 0 또는 false

SQL Server와의 통신을 암호화하는지(1 또는 true) 또는 암호화하지 않는지(0 또는 false)를 지정합니다2.

false (0)

Failover_Partner

String

주 서버를 사용할 수 없을 때 사용할 데이터베이스 미러(설정되어 구성된 경우)의 서버 및 인스턴스를 지정합니다.

설정된 값이 없습니다.

LoginTimeout

정수

연결 시도가 실패할 때까지 기다리는 시간(초)을 지정합니다.

제한 시간이 없습니다.

MultipleActiveResultSets

MARS(Multiple Active Result Sets)를 사용하도록 설정하려면 1 또는 true

MARS(Multiple Active Result Sets)를 사용하지 않도록 설정하려면 0 또는 false

MARS(Multiple Active Result Sets)에 대한 지원을 명시적으로 사용하도록 설정하거나 사용하지 않도록 설정할 수 있습니다. 이 키는 SQL Server Driver for PHP 1.1 버전의 새로운 기능입니다.

자세한 내용은 방법: MARS(Multiple Active Result Sets)를 사용하지 않도록 설정을 참조하십시오.

false(0)

PWD

String

SQL Server 인증에 연결할 때 사용할 사용자 ID와 연관된 암호를 지정합니다3.

설정된 값이 없습니다.

QuotedId

SQL-92 규칙을 사용하려면 1 또는 true

레거시 규칙을 사용하려면 0 또는 false

따옴표로 묶인 식별자에 대해 SQL-92 규칙을 사용할지(1 또는 true) 또는 레거시 Transact-SQL 규칙을 사용할지(0 또는 false)를 지정합니다.

true (1)

ReturnDatesAsStrings

날짜 및 시간 형식을 문자열로 반환하려면 1 또는 true

날짜 및 시간 형식을 PHP DateTime 형식으로 반환하려면 0 또는 false

날짜 및 시간 형식(datetime, date, time, datetime2, datetimeoffset)을 문자열이나 PHP 형식으로 검색할 수 있습니다.

자세한 내용은 방법: 날짜 및 시간 형식을 문자열로 검색을 참조하십시오.

false

TraceFile

String

추적 데이터에 사용되는 파일의 경로입니다.

설정된 값이 없습니다.

TraceOn

추적을 설정하려면 1 또는 true

추적을 해제하려면 0 또는 false

설정하려는 연결에 대해 ODBC 추적을 설정할지(1 또는 true) 또는 해제할지(0 또는 false)를 지정합니다.

false (0)

TransactionIsolation

SQLSRV_TXN_READ_UNCOMMITTED,

SQLSRV_TXN_READ_COMMITTED,

SQLSRV_TXN_REPEATABLE_READ,

SQLSRV_TXN_SNAPSHOT,

SQLSRV_TXN_SERIALIZABLE

트랜잭션의 격리 수준을 지정합니다.

SQLSRV_TXN_READ_COMMITTED

TrustServerCertificate

인증서를 신뢰하려면 1 또는 true

인증서를 신뢰하지 않으려면 0 또는 false

클라이언트가 자체 서명된 서버 인증서를 신뢰할지(1 또는 true) 또는 거부할지(0 또는 false)를 지정합니다.

false (0)

UID

String

SQL Server 인증에 연결할 때 사용할 사용자 ID를 지정합니다3.

설정된 값이 없습니다.

WSID

String

추적할 컴퓨터의 이름입니다.

설정된 값이 없습니다.

1. 설정된 연결에서 실행되는 모든 쿼리는 Database 특성에 지정된 데이터베이스에 대해 수행됩니다. 하지만 사용자가 적절한 권한을 가지고 있는 경우 정규화된 이름을 사용하여 다른 데이터베이스의 데이터에 액세스할 수 있습니다. 예를 들어, master 데이터베이스가 Database 연결 특성을 사용하여 설정되어 있는 경우 정규화된 이름을 사용하여 AdventureWorks.HumanResources.Employee 테이블에 액세스하는 Transact-SQL 쿼리를 실행할 수 있습니다.

2. Encryption을 설정하는 경우 데이터 암호화에 필요한 계산 오버헤드로 인해 일부 응용 프로그램의 성능에 영향을 미칠 수 있습니다.

3. SQL Server 인증으로 연결할 때 UIDPWD 특성이 모두 설정되어 있어야 합니다.

지원되는 키는 대부분 ODBC 연결 문자열 특성입니다. ODBC 연결 문자열에 대한 자세한 내용은 SQL Native Client에서 연결 문자열 키워드 사용(Using Connection String Keywords with SQL Native Client)을 참조하십시오.

반환 값

PHP 연결 리소스입니다. 연결을 만들어 열 수 없는 경우 false가 반환됩니다.

주의

UIDPWD 키의 값이 선택적 $connectionInfo 매개 변수에 지정되지 않은 경우 Windows 인증을 사용하여 연결이 시도됩니다. 서버에 연결하는 방법은 방법: Windows 인증을 사용하여 연결방법: SQL Server 인증을 사용한 연결을 참조하십시오.

다음 예제에서는 Windows 인증을 사용하여 연결을 만들고 엽니다. SQL Server와 AdventureWorks 데이터베이스가 로컬 컴퓨터에 설치되어 있다고 가정합니다. 명령줄에서 이 예제를 실행하면 모든 출력이 콘솔에 기록됩니다.

<?php
/*
Connect to the local server using Windows Authentication and specify
the AdventureWorks database as the database in use. To connect using
SQL Server Authentication, set values for the "UID" and "PWD"
 attributes in the $connectionInfo parameter. For example:
$connectionInfo = array("UID" => $uid, "PWD" => $pwd)); 
*/
$serverName = "(local)";
$connectionInfo = array( "Database"=>"AdventureWorks");
$conn = sqlsrv_connect( $serverName, $connectionInfo);

if( $conn )
{
     echo "Connection established.\n";
}
else
{
     echo "Connection could not be established.\n";
     die( print_r( sqlsrv_errors(), true));
}

//-----------------------------------------------
// Perform operations with connection.
//-----------------------------------------------

/* Close the connection. */
sqlsrv_close( $conn);
?>

참고 항목

개념

설명서에 포함된 코드 예제 정보

관련 자료

API 참조(SQL Server Driver for PHP)
서버에 연결