SQL Server Native Client에서 연결 문자열 키워드 사용
적용 대상: SQL Server
Azure SQL 데이터베이스
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System(PDW)
Important
SNAC(SQL Server Native Client)는 다음과 함께 제공되지 않습니다.
- SQL Server 2022(16.x) 이상 버전
- SQL Server Management Studio 19 이상 버전
SQLNCLI 또는 SQLNCLI11(SQL Server Native Client) 및 레거시 Microsoft OLE DB Provider for SQL Server(SQLOLEDB)는 새 애플리케이션 개발에 권장되지 않습니다.
새 프로젝트의 경우 다음 드라이버 중 하나를 사용합니다.
SQL Server 데이터베이스 엔진(버전 2012부터 2019까지)의 구성 요소로 제공되는 SQLNCLI의 경우 이 수명 주기 예외 지원을 참조하세요.
일부 SQL Server Native Client API는 연결 문자열 사용하여 연결 특성을 지정합니다. 연결 문자열은 키워드와 연관된 값의 목록이며 각 키워드는 특정 연결 특성을 식별합니다.
자세한 내용은 OLE DB Driver for SQL Server에서 연결 문자열 키워드 사용을 참조 하세요.
참고 항목
SQL Server Native Client를 사용하면 연결 문자열 모호성이 이전 버전과의 호환성을 유지할 수 있습니다(예를 들어 일부 키워드를 두 번 이상 지정할 수 있으며 위치 또는 우선 순위에 따라 충돌하는 키워드를 확인하여 허용될 수 있음). SQL Server Native Client를 사용하도록 애플리케이션을 수정하여 연결 문자열 모호성에 대한 종속성을 제거하는 것이 좋습니다.
다음 섹션에서는 SQL Server Native Client를 데이터 공급자로 사용할 때 SQL Server Native Client OLE DB 공급자, SQL Server Native Client ODBC 드라이버 및 ADO(ActiveX Data Objects)와 함께 사용할 수 있는 키워드에 대해 설명합니다.
ODBC 드라이버 연결 문자열 키워드
ODBC 애플리케이션은 연결 문자열 SQLDriverConnect 및 SQLBrowseConnect 함수에 대한 매개 변수로 사용합니다.
ODBC에서 사용하는 연결 문자열의 구문은 다음과 같습니다.
connection-string ::= empty-string[;] | attribute[;] | attribute; connection-string
empty-string ::=
attribute ::= attribute-keyword=[{]attribute-value[}]
attribute-value ::= character-string
attribute-keyword ::= identifier
특성 값은 선택적으로 중괄호로 묶을 수 있으며 이렇게 하는 것이 좋습니다. 이렇게 하면 특성 값에 영숫자가 아닌 문자가 포함된 경우 문제가 발생하지 않습니다. 값의 첫 번째 닫는 중괄호는 값을 종료하는 것으로 간주되므로 값에 닫는 중괄호 문자를 포함할 수 없습니다.
다음 표에서는 ODBC 연결 문자열 사용할 수 있는 키워드에 대해 설명합니다.
키워드 | 설명 |
---|---|
Addr | "Address"의 동의어입니다. |
주소 | SQL Server 인스턴스를 실행하는 서버의 네트워크 주소입니다. Address는 일반적으로 서버의 네트워크 이름이지만 파이프, IP 주소나 TCP/IP 포트 및 소켓 주소와 같은 다른 이름일 수도 있습니다. IP 주소를 지정하는 경우 SQL Server 구성 관리자에서 TCP/IP 또는 명명된 파이프 프로토콜이 설정되어 있는지 확인합니다. 주소 값은 SQL Server Native Client를 사용할 때 ODBC 연결 문자열 서버에 전달되는 값보다 우선합니다. 또한 Address=; 이면 Server 키워드에 지정된 서버에 연결하지만 Address= ;, Address=.; , Address=localhost; 및 Address=(local); 이면 항상 로컬 서버에 연결합니다.Address 키워드에 대한 전체 구문은 다음과 같습니다. [protocol:]Address[,port |\pipe\pipename] protocol 은 tcp (TCP/IP), lpc (공유 메모리) 또는 np (명명된 파이프)일 수 있습니다. 프로토콜에 대한 자세한 내용은 클라이언트 프로토콜 구성을 참조하세요. 프로토콜이나 네트워크 키워드가 지정되지 않은 경우 SQL Server Native Client는 SQL Server 구성 관리자 지정된 프로토콜 순서를 사용합니다. port는 지정한 서버에서 연결할 포트입니다. 기본적으로 SQL Server는 포트 1433을 사용합니다. |
AnsiNPW | "예"인 경우 드라이버는 NULL 비교, 문자 데이터 패딩, 경고 및 NULL 연결을 처리하기 위해 ANSI 정의 동작을 사용합니다. "아니요"이면 ANSI 정의 동작이 노출되지 않습니다. ANSI NPW 동작에 대한 자세한 내용은 ISO 옵션의 효과를 참조 하세요. |
APP | SQLDriverConnect를 호출하는 애플리케이션의 이름입니다(선택 사항). 지정된 경우 이 값은 program_name master.dbo.sysprocesses 열에 저장되고 sp_who 및 APP_NAME 함수에서 반환됩니다. |
ApplicationIntent | 서버에 연결할 때 애플리케이션 작업 유형을 선언합니다. 가능한 값은 ReadOnly 및 ReadWrite입니다. 기본값은 ReadWrite입니다. 예시:ApplicationIntent=ReadOnly Always On 가용성 그룹에 대한 SQL Server Native Client의 지원에 대한 자세한 내용은 고가용성 재해 복구에 대한 SQL Server Native Client 지원을 참조하세요. |
AttachDBFileName | 연결할 수 있는 데이터베이스의 기본 파일 이름입니다. C 문자 문자열 변수를 사용하는 경우 전체 경로를 포함하고 \ 문자를 이스케이프합니다.AttachDBFileName=c:\\MyFolder\\MyDB.mdf 이 데이터베이스는 연결되어 해당 연결에 대한 기본 데이터베이스가 됩니다. AttachDBFileName을 사용하려면 SQLDriverConnect DATABASE 매개 변수 또는 SQL_COPT_CURRENT_CATALOG 연결 특성에서도 데이터베이스 이름을 지정해야 합니다. 데이터베이스가 이전에 연결된 경우 SQL Server는 데이터베이스를 다시 연결하지 않습니다. 연결의 기본값으로 연결된 데이터베이스를 사용합니다. |
AutoTranslate | "예"인 경우 클라이언트와 서버 간에 전송된 ANSI 문자열은 유니코드를 통해 변환하여 클라이언트의 코드 페이지와 서버 간의 확장 문자 일치 문제를 최소화하여 변환됩니다. SQL Server 문자, varchar 또는 텍스트 변수, 매개 변수 또는 열로 전송되는 클라이언트 SQL_C_CHAR 데이터는 클라이언트 ANSI 코드 페이지(ACP)를 사용하여 문자에서 유니코드로 변환된 다음, 서버의 ACP를 사용하여 유니코드에서 문자로 변환됩니다. 클라이언트 SQL_C_CHAR 변수로 전송된 SQL Server char, varchar 또는 텍스트 데이터는 서버 ACP를 사용하여 문자에서 유니코드로 변환된 다음, 클라이언트 ACP를 사용하여 유니코드에서 문자로 변환됩니다. 이러한 변환은 SQL Server Native Client ODBC 드라이버에 의해 클라이언트에서 수행됩니다. 이렇게 하려면 서버에서 사용되는 동일한 ANSI 코드 페이지(ACP)를 클라이언트에서 사용할 수 있어야 합니다. 이러한 설정은 다음 전송에 대해 발생하는 변환에는 영향을 미치지 않습니다. * 유니코드 SQL_C_WCHAR 서버의 char, varchar 또는 텍스트로 전송된 클라이언트 데이터입니다. * 클라이언트의 유니코드 SQL_C_WCHAR 변수로 전송된 char, varchar 또는 텍스트 서버 데이터입니다. * ANSI는 서버의 유니코드 nchar, nvarchar 또는 ntext로 전송된 클라이언트 데이터를 SQL_C_CHAR. * 클라이언트의 ANSI SQL_C_CHAR 변수로 전송된 유니코드 nchar, nvarchar 또는 ntext 서버 데이터입니다. "아니요"이면 문자 변환이 수행되지 않습니다. SQL Server Native Client ODBC 드라이버는 서버의 char, varchar 또는 텍스트 변수, 매개 변수 또는 열로 전송된 데이터를 SQL_C_CHAR 클라이언트 ANSI 문자를 변환하지 않습니다. 서버에서 보낸 문자, varchar 또는 텍스트 데이터에서 클라이언트의 변수를 SQL_C_CHAR 변환이 수행되지 않습니다. 클라이언트와 SQL Server가 다른 ACL을 사용하는 경우 확장 문자가 잘못 해석될 수 있습니다. |
Database | 연결에 대한 기본 SQL Server 데이터베이스의 이름입니다. 데이터베이스를 지정하지 않으면 로그인에 대해 정의된 기본 데이터베이스가 사용됩니다. ODBC 데이터 원본의 기본 데이터베이스는 로그인에 대해 정의된 기본 데이터베이스를 재정의합니다. AttachDBFileName도 지정하지 않는 한 데이터베이스는 기존 데이터베이스여야 합니다. AttachDBFileName도 지정된 경우 가리키는 기본 파일이 연결되고 데이터베이스에서 지정한 데이터베이스 이름이 지정됩니다. |
드라이버 | SQLDrivers에서 반환한 드라이버의 이름입니다. SQL Server Native Client ODBC 드라이버의 키워드 값은 "{SQL Server Native Client 11.0}"입니다. 드라이버가 지정되고 DriverCompletion이 SQL_DRIVER_NOPROMPT 설정된 경우 서버 키워드가 필요합니다. 드라이버 이름에 대한 자세한 내용은 SQL Server 네이티브 클라이언트 헤더 및 라이브러리 파일 사용을 참조 하세요. |
DSN | 기존 ODBC 사용자 또는 시스템 데이터 원본의 이름입니다. 이 키워드는 서버, 네트워크 및 주소 키워드에 지정될 수 있는 모든 값을 재정의합니다. |
암호화 | 데이터를 네트워크를 통해 보내기 전에 암호화해야 하는지 여부를 지정합니다. 가능한 값은 "yes"/"mandatory"(18.0 이상), "no"/"optional"(18.0 이상) 및 "strict"(18.0 이상)입니다. 기본값은 버전 18.0 이상에서 "예"이고 이전 버전에서는 "아니요"입니다. |
대체 | 이 키워드는 더 이상 사용되지 않으며 SQL Server Native Client ODBC 드라이버에서 해당 설정을 무시합니다. |
Failover_Partner | 주 서버에 연결할 수 없는 경우 사용할 장애 조치 파트너 서버의 이름입니다. |
FailoverPartnerSPN | 장애 조치(failover) 파트너의 SPN입니다. 기본값은 빈 문자열입니다. 빈 문자열로 인해 SQL Server Native Client는 드라이버에서 생성된 기본 SPN을 사용합니다. |
FileDSN | 기존 ODBC 파일 데이터 원본의 이름입니다. |
언어 | SQL Server 언어 이름(선택 사항). SQL Server는 여러 언어에 대한 메시지를 sysmessages에 저장할 수 있습니다. 여러 언어 로 SQL Server에 연결하는 경우 언어 는 연결에 사용되는 메시지 집합을 지정합니다. |
MARS_Connection | 연결에서 MARS(Multiple Active Result Sets)를 설정하거나 해제합니다. 인식된 값은 "yes" 및 "no"입니다. 기본값은 "no"입니다. |
MultiSubnetFailover | SQL Server 가용성 그룹 또는 SQL Server 장애 조치(failover) 클러스터 인스턴스의 가용성 그룹 수신기에 연결할 때는 항상 multiSubnetFailover=Yes를 지정합니다. multiSubnetFailover=예 는 (현재) 활성 서버에 대한 빠른 검색 및 연결을 제공하도록 SQL Server Native Client를 구성합니다. 가능한 값은 Yes 및 No입니다. 기본값은 No입니다. 예시:MultiSubnetFailover=Yes Always On 가용성 그룹에 대한 SQL Server Native Client의 지원에 대한 자세한 내용은 고가용성 재해 복구에 대한 SQL Server Native Client 지원을 참조하세요. |
Net | "Network"에 대한 동의어입니다. |
네트워크 | 유효한 값은 dbnmpntw (명명된 파이프) 및 dbmssocn (TCP/IP)입니다. 네트워크 키워드의 값과 서버 키워드의 프로토콜 접두사를 모두 지정하는 것은 오류입니다. |
PWD | UID 매개 변수에 지정된 SQL Server 로그인 계정의 암호입니다. 로그인에 NULL 암호가 있거나 Windows 인증(Trusted_Connection = yes )을 사용하는 경우 PWD를 지정할 필요가 없습니다. |
QueryLog_On | "예"이면 연결에서 장기 실행 쿼리 데이터 로깅을 사용할 수 있습니다. "아니요"이면 장기 실행 쿼리 데이터가 기록되지 않습니다. |
QueryLogFile | 장기 실행 쿼리에서 데이터를 기록하는 데 사용할 파일의 전체 경로 및 파일 이름입니다. |
QueryLogTime | 장기 실행 쿼리를 로깅하기 위한 임계값(밀리초)을 지정하는 숫자 문자열입니다. 지정된 시간에 응답을 받지 않는 쿼리는 장기 실행 쿼리 로그 파일에 기록됩니다. |
QuotedId | 연결에 대해 "예"가 설정되면 QUOTED_IDENTIFIER SQL Server는 SQL 문에서 따옴표 사용에 관한 ISO 규칙을 사용합니다. 아니요이면 연결에 대해 QUOTED_IDENTIFIER OFF로 설정됩니다. 그런 다음 SQL Server는 SQL 문에서 따옴표 사용에 관한 레거시 Transact-SQL 규칙을 따릅니다. 자세한 내용은 ISO 옵션의 효과를 참조 하세요. |
Regional | "예"인 경우 SQL Server Native Client ODBC 드라이버는 통화, 날짜 및 시간 데이터를 문자 데이터로 변환할 때 클라이언트 설정을 사용합니다. 변환이 한쪽 방향으로만 이루어지므로 드라이버는 INSERT 또는 UPDATE 문에 사용된 매개 변수 등에서 ODBC 표준 형식이 아닌 날짜 문자열이나 통화 값을 인식하지 못합니다. "아니요"인 경우 드라이버는 ODBC 표준 문자열을 사용하여 문자 데이터로 변환되는 통화, 날짜 및 시간 데이터를 나타냅니다. |
SaveFile | 연결에 성공하면 현재 연결의 특성이 저장되는 ODBC 데이터 원본 파일의 이름입니다. |
서버 | SQL Server 인스턴스의 이름입니다. 이 값은 네트워크의 서버 이름(IP 주소)이거나 SQL Server 구성 관리자 별칭이어야 합니다. Address 키워드는 Server 키워드를 재정의합니다. 다음 중 하나를 지정하여 로컬 서버의 기본 인스턴스에 연결할 수 있습니다. Server=; Server=.; Server=(local); Server=(local); Server=(localhost); Server=(localdb)\ instancename ; LocalDB 지원에 대한 자세한 내용은 LocalDB에 대한 SQL Server Native Client 지원을 참조하세요. SQL Server의 명명된 인스턴스를 지정하려면 \InstanceName을 추가합니다. 서버를 지정하지 않으면 로컬 컴퓨터의 기본 인스턴스에 연결합니다. IP 주소를 지정하는 경우 SQL Server 구성 관리자에서 TCP/IP 또는 명명된 파이프 프로토콜이 설정되어 있는지 확인합니다. Server 키워드에 대한 전체 구문은 다음과 같습니다. Server= [protocol: ]Server[ ,port] protocol 은 tcp (TCP/IP), lpc (공유 메모리) 또는 np (명명된 파이프)일 수 있습니다. 다음은 명명된 파이프를 지정하는 예제입니다. np:\\.\pipe\MSSQL$MYINST01\sql\query 이 줄은 명명된 파이프 프로토콜, 로컬 컴퓨터의 명명된 파이프( \\.\pipe ), SQL Server 인스턴스의 이름(MSSQL$MYINST01 ) 및 명명된 파이프(sql/query )의 기본 이름을 지정합니다.프로토콜이나 네트워크 키워드를 지정하지 않으면 SQL Server Native Client는 SQL Server 구성 관리자 지정된 프로토콜 순서를 사용합니다. port는 지정한 서버에서 연결할 포트입니다. 기본적으로 SQL Server는 포트 1433을 사용합니다. SQL Server Native Client를 사용하는 경우 ODBC 연결 문자열 서버에 전달된 값의 시작 부분에서 공백이 무시됩니다. |
ServerSPN | 서버의 SPN입니다. 기본값은 빈 문자열입니다. 빈 문자열로 인해 SQL Server Native Client는 드라이버에서 생성된 기본 SPN을 사용합니다. |
StatsLog_On | "예"이면 SQL Server Native Client ODBC 드라이버 성능 데이터를 캡처할 수 있습니다. "아니요"이면 연결에서 SQL Server Native Client ODBC 드라이버 성능 데이터를 사용할 수 없습니다. |
StatsLogFile | SQL Server Native Client ODBC 드라이버 성능 통계를 기록하는 데 사용되는 파일의 전체 경로 및 파일 이름입니다. |
Trusted_Connection | "예"인 경우 로그인 유효성 검사에 Windows 인증 모드를 사용하도록 SQL Server Native Client ODBC 드라이버에 지시합니다. 그렇지 않으면 로그인 유효성 검사를 위해 SQL Server 사용자 이름과 암호를 사용하도록 SQL Server Native Client ODBC 드라이버에 지시하고 UID 및 PWD 키워드를 지정해야 합니다. |
TrustServerCertificate | Encrypt와 함께 사용하는 경우 자체 서명된 서버 인증서를 사용하여 암호화를 사용하도록 설정합니다. |
UID | 유효한 SQL Server 로그인 계정입니다. Windows 인증을 사용하는 경우 UID를 지정할 필요가 없습니다. |
UseProcForPrepare | 이 키워드는 더 이상 사용되지 않으며 SQL Server Native Client ODBC 드라이버에서 해당 설정을 무시합니다. |
WSID | 워크스테이션 ID입니다. 일반적으로 애플리케이션이 있는 컴퓨터의 네트워크 이름입니다(선택 사항). 지정된 경우 이 값은 master.dbo.sysprocesses 열 호스트 이름에 저장되고 sp_who 및 HOST_NAME 함수에서 반환됩니다. |
참고 항목
지역 변환 설정은 통화, 숫자, 날짜 및 시간 데이터 형식에 적용됩니다. 변환 설정은 출력 변환에만 적용되며 통화, 숫자, 날짜 또는 시간 값이 문자열로 변환되는 경우에만 표시됩니다.
SQL Server Native Client ODBC 드라이버는 현재 사용자의 로캘 레지스트리 설정을 사용합니다. 애플리케이션이 연결 후 SetThreadLocale를 호출하여 설정하는 경우 드라이버는 현재 스레드의 로캘을 적용하지 않습니다.
데이터 원본의 국가별 동작을 변경하면 애플리케이션에서 오류가 발생할 수 있습니다. 날짜 문자열을 구문 분석하고 ODBC에서 정의한 대로 날짜 문자열이 표시될 것으로 예상하는 애플리케이션은 이 값을 변경하면 부정적인 영향을 받을 수 있습니다.
OLE DB 공급자 연결 문자열 키워드
OLE DB 애플리케이션에서는 데이터 원본 개체를 다음 두 가지 방법으로 초기화할 수 있습니다.
IDBInitialize::Initialize
IDataInitialize::GetDataSource
첫 번째 경우에는 DBPROPSET_DBINIT 속성 집합의 DBPROP_INIT_PROVIDERSTRING 속성을 설정하는 방법을 통해 공급자 문자열을 사용하여 연결 속성을 초기화할 수 있습니다. 두 번째 경우에는 초기화 문자열을 IDataInitialize::GetDataSource 메서드에 전달하여 연결 속성을 초기화할 수 있습니다. 두 방법 모두 동일한 OLE DB 연결 속성을 초기화하지만 서로 다른 키워드 집합을 사용합니다. IDataInitialize::GetDataSource에서 사용되는 키워드 집합은 적어도 초기화 속성 그룹 내의 속성에 대한 설명입니다.
일부 기본값으로 관련 OLE DB 속성 집합을 소유하거나 명시적인 값으로 설정된 임의 공급자 문자열 설정, OLE DB 속성 값은 공급자 문자열에서 설정을 재정의합니다.
공급자 문자열에서 DBPROP_INIT_PROVIDERSTRING 값을 통해 설정되는 부울 속성은 "yes" 및 "no" 값을 사용하여 설정됩니다. IDataInitialize::GetDataSource를 사용하여 초기화 문자열에 설정된 부울 속성은 "true" 및 "false" 값을 사용하여 설정됩니다.
IDataInitialize::GetDataSource를 사용하는 애플리케이션에서는 IDBInitialize::Initialize에 사용되는 키워드도 사용할 수 있지만 이러한 키워드는 기본값이 없는 속성에서만 사용할 수 있습니다. 애플리케이션이 초기화 문자열에서 IDataInitialize::GetDataSource 키워드와 IDBInitialize::Initialize 키워드를 모두 사용하는 경우에는 IDataInitialize::GetDataSource 키워드 설정이 사용됩니다. 이 동작은 이후 릴리스에서 유지 관리되지 않을 수 있으므로 애플리케이션은 IDataInitialize:GetDataSource 연결 문자열 IDBInitialize::Initialize 키워드를 사용하지 않는 것이 좋습니다.
참고 항목
IDataInitialize::GetDataSource를 통해 전달된 연결 문자열은 속성으로 변환된 후 IDBProperties::SetProperties를 통해 적용됩니다. 구성 요소 서비스가 IDBProperties::GetPropertyInfo에서 속성 설명을 찾으면 이 속성이 독립 실행형 속성으로 적용됩니다. 그렇지 않으면 DBPROP_PROVIDERSTRING 속성을 통해 속성이 적용됩니다. 예를 들어 연결 문자열 Data Source=server1을 지정하는 경우 Server=server2, 데이터 원본은 속성으로 설정되지만 서버는 공급자 문자열로 이동합니다.
같은 공급자별 속성의 인스턴스를 여러 개 지정하면 첫 번째 속성의 첫 번째 값이 사용됩니다.
IDBInitialize::Initialize에 DBPROP_INIT_PROVIDERSTRING을 지정하는 OLE DB 애플리케이션에서 사용하는 연결 문자열의 구문은 다음과 같습니다.
connection-string ::= empty-string[;] | attribute[;] | attribute; connection-string
empty-string ::=
attribute ::= attribute-keyword=[{]attribute-value[}]
attribute-value ::= character-string
attribute-keyword ::= identifier
특성 값은 선택적으로 중괄호로 묶을 수 있으며 이렇게 하는 것이 좋습니다. 이렇게 하면 특성 값에 영숫자가 아닌 문자가 포함된 경우 문제가 발생하지 않습니다. 값의 첫 번째 닫는 중괄호는 값을 종료하는 것으로 간주되므로 값에 닫는 중괄호 문자를 포함할 수 없습니다.
연결 문자열 키워드에서 등호(=) 다음에 나오는 공백 문자는 값을 따옴표로 묶은 경우에도 리터럴로 해석됩니다.
다음 표에서는 DBPROP_INIT_PROVIDERSTRING에서 사용할 수 있는 키워드에 대해 설명합니다.
키워드 | 초기화 속성 | Description |
---|---|---|
Addr | SSPROP_INIT_NETWORKADDRESS | "Address"의 동의어입니다. |
주소 | SSPROP_INIT_NETWORKADDRESS | 조직의 SQL Server 인스턴스 네트워크 주소입니다. 유효한 주소 구문에 대한 자세한 내용은 이 항목의 뒷부분에 있는 Address ODBC 키워드에 대한 설명을 참조하세요. |
APP | SSPROP_INIT_APPNAME | 애플리케이션을 식별하는 문자열입니다. |
ApplicationIntent | SSPROP_INIT_APPLICATIONINTENT | 서버에 연결할 때 애플리케이션 작업 유형을 선언합니다. 가능한 값은 ReadOnly 및 ReadWrite입니다. 기본값은 ReadWrite입니다. Always On 가용성 그룹에 대한 SQL Server Native Client의 지원에 대한 자세한 내용은 고가용성 재해 복구에 대한 SQL Server Native Client 지원을 참조하세요. |
AttachDBFileName | SSPROP_INIT_FILENAME | 연결할 수 있는 데이터베이스의 전체 경로 이름을 포함한 주 파일의 이름입니다. AttachDBFileName을 사용하려면 공급자 문자열 Database 키워드에도 데이터베이스 이름을 지정해야 합니다. 데이터베이스가 이전에 연결된 경우 SQL Server는 데이터베이스를 다시 연결하지 않습니다(연결된 데이터베이스를 연결의 기본값으로 사용). |
자동 번역 | SSPROP_INIT_AUTOTRANSLATE | "AutoTranslate"의 동의어입니다. |
AutoTranslate | SSPROP_INIT_AUTOTRANSLATE | OEM/ANSI 문자 변환을 구성합니다. 인식된 값은 "yes" 및 "no"입니다. |
Database | DBPROP_INIT_CATALOG | 데이터베이스 이름입니다. |
DataTypeCompatibility | SSPROP_INIT_DATATYPECOMPATIBILITY | 사용할 데이터 형식 처리 모드를 지정합니다. 인식되는 값은 "0"(공급자 데이터 형식) 및 "80"(SQL Server 2000 데이터 형식)입니다. |
암호화 | SSPROP_INIT_ENCRYPT | 데이터를 네트워크를 통해 보내기 전에 암호화해야 하는지 여부를 지정합니다. 가능한 값은 "yes" 및 "no"입니다. 기본값은 "no"입니다. |
FailoverPartner | SSPROP_INIT_FAILOVERPARTNER | 데이터베이스 미러링에 사용되는 장애 조치(failover) 서버의 이름입니다. |
FailoverPartnerSPN | SSPROP_INIT_FAILOVERPARTNERSPN | 장애 조치(failover) 파트너의 SPN입니다. 기본값은 빈 문자열입니다. 빈 문자열로 인해 SQL Server Native Client는 공급자에서 생성된 기본 SPN을 사용합니다. |
언어 | SSPROP_INIT_CURRENTLANGUAGE | SQL Server 언어입니다. |
MarsConn | SSPROP_INIT_MARSCONNECTION | 서버가 SQL Server 2005(9.x) 이상 버전인 경우 연결에서 MARS(Multiple Active Result Sets)를 설정하거나 해제합니다. 가능한 값은 "yes" 및 "no"입니다. 기본값은 "no"입니다. |
Net | SSPROP_INIT_NETWORKLIBRARY | "Network"에 대한 동의어입니다. |
Network | SSPROP_INIT_NETWORKLIBRARY | 조직의 SQL Server 인스턴스에 연결하는 데 사용하는 네트워크 라이브러리입니다. |
Network Library | SSPROP_INIT_NETWORKLIBRARY | "Network"에 대한 동의어입니다. |
PacketSize | SSPROP_INIT_PACKETSIZE | 네트워크 패킷 크기입니다. 기본값은 4096입니다. |
PersistSensitive | DBPROP_AUTH_PERSIST_SENSITIVE_AUTHINFO | 문자열 "yes" 및 "no"를 값으로 허용합니다. "no"인 경우 중요한 인증 정보를 데이터 원본 개체에 유지할 수 없습니다. |
PWD | DBPROP_AUTH_PASSWORD | SQL Server 로그인 암호입니다. |
Server | DBPROP_INIT_DATASOURCE | 조직의 SQL Server 인스턴스 이름입니다. 지정하지 않으면 로컬 컴퓨터의 기본 인스턴스에 연결합니다. 유효한 주소 구문에 대한 자세한 내용은 이 항목에서 Server ODBC 키워드에 대한 설명을 참조하세요. |
ServerSPN | SSPROP_INIT_SERVERSPN | 서버의 SPN입니다. 기본값은 빈 문자열입니다. 빈 문자열로 인해 SQL Server Native Client는 공급자에서 생성된 기본 SPN을 사용합니다. |
Timeout | DBPROP_INIT_TIMEOUT | 데이터 원본 초기화가 완료될 때까지 기다릴 시간(초)입니다. |
Trusted_Connection | DBPROP_AUTH_INTEGRATED | "예"이면 로그인 유효성 검사에 Windows 인증 모드를 사용하도록 SQL Server Native Client OLE DB 공급자에게 지시합니다. 그렇지 않으면 로그인 유효성 검사를 위해 SQL Server 사용자 이름과 암호를 사용하도록 SQL Server Native Client OLE DB 공급자에게 지시하고 UID 및 PWD 키워드를 지정해야 합니다. |
TrustServerCertificate | SSPROP_INIT_TRUST_SERVER_CERTIFICATE | 문자열 "yes" 및 "no"를 값으로 허용합니다. 기본값은 "no"이며 서버 인증서의 유효성을 검사하는 것을 의미합니다. |
UID | DBPROP_AUTH_USERID | SQL Server 로그인 이름입니다. |
UseProcForPrepare | SSPROP_INIT_USEPROCFORPREP | 이 키워드는 더 이상 사용되지 않으며 SQL Server Native Client OLE DB 공급자가 해당 설정을 무시합니다. |
WSID | SSPROP_INIT_WSID | 워크스테이션 식별자입니다. |
IDataInitialize::GetDataSource를 사용하는 OLE DB 애플리케이션에서 사용하는 연결 문자열의 구문은 다음과 같습니다.
connection-string ::= empty-string[;] | attribute[;] | attribute; connection-string
empty-string ::=
attribute ::= attribute-keyword=[quote]attribute-value[quote]
attribute-value ::= character-string
attribute-keyword ::= identifier
quote ::= " | '
속성 사용은 해당 범위에 허용되는 구문을 따라야 합니다. 예를 들어 WSID는 따옴표 대신 중괄호( {} )를 사용하고 애플리케이션 이름은 작은따옴표( ' ) 또는 큰따옴표( " )를 사용합니다. 문자열 속성만 따옴표로 묶을 수 있습니다. 정수 또는 열거된 속성을 인용하려고 하면 "연결 문자열이 OLE DB 사양을 준수하지 않습니다." 오류가 발생합니다.
특성 값을 작은따옴표나 큰따옴표로 묶을 수 있으며 그렇게 하는 것이 좋습니다. 이렇게 하면 값에 영숫자가 아닌 문자가 포함된 경우 문제가 발생하지 않습니다. 두 배가 되는 경우 사용된 따옴표 문자도 값에 표시될 수 있습니다.
연결 문자열 키워드에서 등호(=) 다음에 나오는 공백 문자는 값을 따옴표로 묶은 경우에도 리터럴로 해석됩니다.
연결 문자열에 다음 표에 나열된 속성이 두 개 이상 있으면 마지막 속성의 값이 사용됩니다.
다음 표에서는 IDataInitialize::GetDataSource에서 사용할 수 있는 키워드에 대해 설명합니다.
키워드 | 초기화 속성 | 설명 |
---|---|---|
애플리케이션 이름 | SSPROP_INIT_APPNAME | 애플리케이션을 식별하는 문자열입니다. |
Application Intent | SSPROP_INIT_APPLICATIONINTENT | "ApplicationIntent"의 동의어입니다. |
ApplicationIntent | SSPROP_INIT_APPLICATIONINTENT | 서버에 연결할 때 애플리케이션 작업 유형을 선언합니다. 가능한 값은 ReadOnly 및 ReadWrite입니다. 기본값은 ReadWrite입니다. Always On 가용성 그룹에 대한 SQL Server Native Client의 지원에 대한 자세한 내용은 고가용성 재해 복구에 대한 SQL Server Native Client 지원을 참조하세요. |
자동 번역 | SSPROP_INIT_AUTOTRANSLATE | "AutoTranslate"의 동의어입니다. |
AutoTranslate | SSPROP_INIT_AUTOTRANSLATE | OEM/ANSI 문자 변환을 구성합니다. 인식된 값은 "true" 및 "false"입니다. |
Connect Timeout | DBPROP_INIT_TIMEOUT | 데이터 원본 초기화가 완료될 때까지 기다릴 시간(초)입니다. |
Current Language | SSPROP_INIT_CURRENTLANGUAGE | SQL Server 언어 이름입니다. |
데이터 원본 | DBPROP_INIT_DATASOURCE | 조직의 SQL Server 인스턴스 이름입니다. 지정하지 않으면 로컬 컴퓨터의 기본 인스턴스에 연결합니다. 유효한 주소 구문에 대한 자세한 내용은 이 항목의 뒷부분에 있는 Server ODBC 키워드에 대한 설명을 참조하세요. |
DataTypeCompatibility | SSPROP_INIT_DATATYPECOMPATIBILITY | 사용할 데이터 형식 처리 모드를 지정합니다. 인식된 값은 공급자 데이터 형식의 경우 "0"이고 SQL Server 2000(8.x) 데이터 형식의 경우 "80"입니다. |
장애 조치(failover) 파트너 | SSPROP_INIT_FAILOVERPARTNER | 데이터베이스 미러링에 사용되는 장애 조치(failover) 서버의 이름입니다. |
Failover Partner SPN | SSPROP_INIT_FAILOVERPARTNERSPN | 장애 조치(failover) 파트너의 SPN입니다. 기본값은 빈 문자열입니다. 빈 문자열로 인해 SQL Server Native Client는 공급자에서 생성된 기본 SPN을 사용합니다. |
초기 카탈로그 | DBPROP_INIT_CATALOG | 데이터베이스 이름입니다. |
초기 파일 이름 | SSPROP_INIT_FILENAME | 연결할 수 있는 데이터베이스의 전체 경로 이름을 포함한 주 파일의 이름입니다. AttachDBFileName을 사용하려면 공급자 문자열 DATABASE 키워드에도 데이터베이스 이름을 지정해야 합니다. 데이터베이스가 이전에 연결된 경우 SQL Server는 데이터베이스를 다시 연결하지 않습니다(연결된 데이터베이스를 연결의 기본값으로 사용). |
통합 보안 | DBPROP_AUTH_INTEGRATED | Windows 인증에 대한 "SSPI" 값을 허용합니다. |
MARS Connection | SSPROP_INIT_MARSCONNECTION | 연결에서 MARS(Multiple Active Result Sets)를 설정하거나 해제합니다. 인식된 값은 "true" 및 "false"입니다. 기본값은 "false"입니다. |
Network Address | SSPROP_INIT_NETWORKADDRESS | 조직의 SQL Server 인스턴스 네트워크 주소입니다. 유효한 주소 구문에 대한 자세한 내용은 이 항목의 뒷부분에 있는 Address ODBC 키워드에 대한 설명을 참조하세요. |
Network Library | SSPROP_INIT_NETWORKLIBRARY | 조직의 SQL Server 인스턴스에 연결하는 데 사용하는 네트워크 라이브러리입니다. |
Packet Size | SSPROP_INIT_PACKETSIZE | 네트워크 패킷 크기입니다. 기본값은 4096입니다. |
암호 | DBPROP_AUTH_PASSWORD | SQL Server 로그인 암호입니다. |
Persist Security Info | DBPROP_AUTH_PERSIST_SENSITIVE_AUTHINFO | 문자열 "true" 및 "false"를 값으로 받습니다. "false"인 경우 중요한 인증 정보를 데이터 원본 개체에 유지할 수 없습니다. |
공급자 | SQL Server Native Client의 경우 "SQLNCLI11"이어야 합니다. | |
Server SPN | SSPROP_INIT_SERVERSPN | 서버의 SPN입니다. 기본값은 빈 문자열입니다. 빈 문자열로 인해 SQL Server Native Client는 공급자에서 생성된 기본 SPN을 사용합니다. |
서버 인증서 신뢰 | SSPROP_INIT_TRUST_SERVER_CERTIFICATE | 문자열 "true" 및 "false"를 값으로 받습니다. 기본값은 "false"이며 서버 인증서의 유효성을 검사하는 것을 의미합니다. |
데이터에 암호화 사용 | SSPROP_INIT_ENCRYPT | 데이터를 네트워크를 통해 보내기 전에 암호화해야 하는지 여부를 지정합니다. 가능한 값은 "true" 및 "false"입니다. 기본값은 “false”입니다. |
사용자 ID | DBPROP_AUTH_USERID | SQL Server 로그인 이름입니다. |
Workstation ID | SSPROP_INIT_WSID | 워크스테이션 식별자입니다. |
참고 연결 문자열에서 “이전 암호” 속성은 공급자 문자열 속성을 통해 사용할 수 없는 현재(만료된) 암호인 SSPROP_AUTH_OLD_PASSWORD를 설정합니다.
ADO(ActiveX Data Objects) 연결 문자열 키워드
ADO 애플리케이션에서는 ADODBConnection 개체의 ConnectionString 속성을 설정하거나 ADODBConnection 개체의 Open 메서드에 대한 매개 변수로 연결 문자열을 제공합니다.
ADO 애플리케이션은 OLE DB IDBInitialize ::Initialize 메서드에서 사용하는 키워드를 사용할 수도 있지만 기본값이 없는 속성에만 사용할 수 있습니다. 애플리케이션이 초기화 문자열에 ADO 키워드와 IDBInitialize::Initialize 키워드를 모두 사용하는 경우에는 ADO 키워드 설정이 사용됩니다. 애플리케이션은 ADO 연결 문자열 키워드만 사용하는 것이 좋습니다.
ADO에서 사용하는 연결 문자열의 구문은 다음과 같습니다.
connection-string ::= empty-string[;] | attribute[;] | attribute; connection-string
empty-string ::=
attribute ::= attribute-keyword=["]attribute-value["]
attribute-value ::= character-string
attribute-keyword ::= identifier
특성 값은 필요에 따라 큰따옴표로 묶을 수 있으며 이렇게 하는 것이 좋습니다. 이렇게 하면 값에 영숫자가 아닌 문자가 포함된 경우 문제가 발생하지 않습니다. 특성 값에는 큰따옴표가 있으면 안 됩니다.
다음 표에서는 ADO 연결 문자열에서 사용할 수 있는 키워드에 대해 설명합니다.
키워드 | 초기화 속성 | 설명 |
---|---|---|
Application Intent | SSPROP_INIT_APPLICATIONINTENT | "ApplicationIntent"의 동의어입니다. |
ApplicationIntent | SSPROP_INIT_APPLICATIONINTENT | 서버에 연결할 때 애플리케이션 작업 유형을 선언합니다. 가능한 값은 ReadOnly 및 ReadWrite입니다. 기본값은 ReadWrite입니다. Always On 가용성 그룹에 대한 SQL Server Native Client의 지원에 대한 자세한 내용은 고가용성 재해 복구에 대한 SQL Server Native Client 지원을 참조하세요. |
애플리케이션 이름 | SSPROP_INIT_APPNAME | 애플리케이션을 식별하는 문자열입니다. |
자동 번역 | SSPROP_INIT_AUTOTRANSLATE | "AutoTranslate"의 동의어입니다. |
AutoTranslate | SSPROP_INIT_AUTOTRANSLATE | OEM/ANSI 문자 변환을 구성합니다. 인식된 값은 "true" 및 "false"입니다. |
Connect Timeout | DBPROP_INIT_TIMEOUT | 데이터 원본 초기화가 완료될 때까지 기다릴 시간(초)입니다. |
Current Language | SSPROP_INIT_CURRENTLANGUAGE | SQL Server 언어 이름입니다. |
데이터 원본 | DBPROP_INIT_DATASOURCE | 조직의 SQL Server 인스턴스 이름입니다. 지정하지 않으면 로컬 컴퓨터의 기본 인스턴스에 연결합니다. 유효한 주소 구문에 대한 자세한 내용은 이 항목에서 Server ODBC 키워드에 대한 설명을 참조하세요. |
DataTypeCompatibility | SSPROP_INIT_DATATYPECOMPATIBILITY | 사용할 데이터 형식 처리 모드를 지정합니다. 인식되는 값은 "0"(공급자 데이터 형식) 및 "80"(SQL Server 2000 데이터 형식)입니다. |
장애 조치(failover) 파트너 | SSPROP_INIT_FAILOVERPARTNER | 데이터베이스 미러링에 사용되는 장애 조치(failover) 서버의 이름입니다. |
Failover Partner SPN | SSPROP_INIT_FAILOVERPARTNERSPN | 장애 조치(failover) 파트너의 SPN입니다. 기본값은 빈 문자열입니다. 빈 문자열로 인해 SQL Server Native Client는 공급자에서 생성된 기본 SPN을 사용합니다. |
초기 카탈로그 | DBPROP_INIT_CATALOG | 데이터베이스 이름입니다. |
초기 파일 이름 | SSPROP_INIT_FILENAME | 연결할 수 있는 데이터베이스의 전체 경로 이름을 포함한 주 파일의 이름입니다. AttachDBFileName을 사용하려면 공급자 문자열 DATABASE 키워드에도 데이터베이스 이름을 지정해야 합니다. 데이터베이스가 이전에 연결된 경우 SQL Server는 데이터베이스를 다시 연결하지 않습니다(연결된 데이터베이스를 연결의 기본값으로 사용). |
통합 보안 | DBPROP_AUTH_INTEGRATED | Windows 인증에 대한 "SSPI" 값을 허용합니다. |
MARS Connection | SSPROP_INIT_MARSCONNECTION | 서버가 SQL Server 2005(9.x) 이상 버전인 경우 연결에서 MARS(Multiple Active Result Sets)를 설정하거나 해제합니다. 인식된 값은 "true" 및 "false"입니다. 기본값은 "false"입니다. |
Network Address | SSPROP_INIT_NETWORKADDRESS | 조직의 SQL Server 인스턴스 네트워크 주소입니다. 유효한 주소 구문에 대한 자세한 내용은 이 항목에서 Address ODBC 키워드에 대한 설명을 참조하세요. |
Network Library | SSPROP_INIT_NETWORKLIBRARY | 조직의 SQL Server 인스턴스에 연결하는 데 사용하는 네트워크 라이브러리입니다. |
Packet Size | SSPROP_INIT_PACKETSIZE | 네트워크 패킷 크기입니다. 기본값은 4096입니다. |
암호 | DBPROP_AUTH_PASSWORD | SQL Server 로그인 암호입니다. |
Persist Security Info | DBPROP_AUTH_PERSIST_SENSITIVE_AUTHINFO | 문자열 "true" 및 "false"를 값으로 받습니다. "false"이면 데이터 원본 개체가 중요한 인증 정보를 유지할 수 없습니다. |
공급자 | SQL Server Native Client의 경우 "SQLNCLI11"이어야 합니다. | |
Server SPN | SSPROP_INIT_SERVERSPN | 서버의 SPN입니다. 기본값은 빈 문자열입니다. 빈 문자열로 인해 SQL Server Native Client는 공급자에서 생성된 기본 SPN을 사용합니다. |
서버 인증서 신뢰 | SSPROP_INIT_TRUST_SERVER_CERTIFICATE | 문자열 "true" 및 "false"를 값으로 받습니다. 기본값은 "false"이며 서버 인증서의 유효성을 검사하는 것을 의미합니다. |
데이터에 암호화 사용 | SSPROP_INIT_ENCRYPT | 데이터를 네트워크를 통해 보내기 전에 암호화해야 하는지 여부를 지정합니다. 가능한 값은 "true" 및 "false"입니다. 기본값은 “false”입니다. |
사용자 ID | DBPROP_AUTH_USERID | SQL Server 로그인 이름입니다. |
Workstation ID | SSPROP_INIT_WSID | 워크스테이션 식별자입니다. |
참고 항목
연결 문자열에서 "이전 암호" 속성은 공급자 문자열 속성을 통해 사용할 수 없는 현재(만료된) 암호인 SSPROP_AUTH_OLD_PASSWORD를 설정합니다.