SqlConnectionStringBuilder 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
SqlConnection 클래스에서 사용하는 연결 문자열의 콘텐츠를 만들고 관리하는 간단한 방법을 제공합니다.
새 개발의 경우 Microsoft 사용합니다. Data.SqlClient. 이 페이지에서는 System.Data.SqlClient를 문서화합니다.
public ref class SqlConnectionStringBuilder sealed : System::Data::Common::DbConnectionStringBuilder
public sealed class SqlConnectionStringBuilder : System.Data.Common.DbConnectionStringBuilder
[System.ComponentModel.TypeConverter(typeof(System.Data.SqlClient.SqlConnectionStringBuilder+SqlConnectionStringBuilderConverter))]
public sealed class SqlConnectionStringBuilder : System.Data.Common.DbConnectionStringBuilder
type SqlConnectionStringBuilder = class
inherit DbConnectionStringBuilder
[<System.ComponentModel.TypeConverter(typeof(System.Data.SqlClient.SqlConnectionStringBuilder+SqlConnectionStringBuilderConverter))>]
type SqlConnectionStringBuilder = class
inherit DbConnectionStringBuilder
Public NotInheritable Class SqlConnectionStringBuilder
Inherits DbConnectionStringBuilder
- 상속
- 특성
예제
다음 콘솔 애플리케이션은 SQL Server 데이터베이스에 대한 연결 문자열을 빌드합니다. 이 코드는 SqlConnectionStringBuilder 클래스를 사용하여 연결 문자열을 만듭니다. 그런 다음, 연결 문자열을 구문 분석하고 해당 내용을 조작하는 다양한 방법을 보여 줍니다.
// Create a new SqlConnectionStringBuilder and
// initialize it with a few name/value pairs.
SqlConnectionStringBuilder builder = new(
"Server=(local);Integrated Security=true;" +
"Initial Catalog=AdventureWorks"
);
// The input connection string used the
// Server key, but the new connection string uses
// the well-known Data Source key instead.
Console.WriteLine($"Original connection string: '{builder.ConnectionString}'");
// Now that the connection string has been parsed,
// you can work with individual items.
Console.WriteLine($"Initial catalog: '{builder.InitialCatalog}'");
builder.InitialCatalog = "Northwind";
builder.AsynchronousProcessing = true;
// You can refer to connection keys using strings,
// as well. When you use this technique (the default
// Item property in Visual Basic, or the indexer in C#),
// you can specify any synonym for the connection string key name.
builder["Server"] = ".";
builder["Connect Timeout"] = 1000;
builder["Trusted_Connection"] = true;
Console.WriteLine($"Modified connection string: '{builder.ConnectionString}'");
Imports System.Data.SqlClient
Module Module1
Sub Main()
' Create a new SqlConnectionStringBuilder and
' initialize it with a few name/value pairs:
Dim builder As New SqlConnectionStringBuilder(
"Server=(local);Integrated Security=true;" &
"Initial Catalog=AdventureWorks"
)
' The input connection string used the
' Server key, but the new connection string uses
' the well-known Data Source key instead.
Console.WriteLine("Original connection string: " + builder.ConnectionString)
' Now that the connection string has been parsed,
' you can work with individual items.
Console.WriteLine("Initial catalog: " + builder.InitialCatalog)
builder.InitialCatalog = "Northwind"
builder.AsynchronousProcessing = True
' You can refer to connection keys using strings,
' as well. When you use this technique (the default
' Item property in Visual Basic, or the indexer in C#)
' you can specify any synonym for the connection string key
' name.
builder("Server") = "."
builder("Connect Timeout") = 1000
' The Item property is the default for the class,
' and setting the Item property adds the value to the
' dictionary, if necessary.
builder.Item("Trusted_Connection") = True
Console.WriteLine("Modified connection string: " + builder.ConnectionString)
End Sub
End Module
설명
연결 문자열 작성기를 사용하면 개발자가 프로그래밍 방식으로 올바른 연결 문자열을 만들고 클래스의 속성과 메서드를 사용하여 기존 연결 문자열을 구문 분석하고 다시 작성할 수 있습니다. 연결 문자열 작성기에서는 SQL Server에서 허용하는 알려진 키/값 쌍에 해당하는 강력한 형식의 속성을 제공합니다. 앱의 일부로 연결 문자열을 만들어야 하는 경우 SqlConnectionStringBuilder 클래스를 사용하여 연결 문자열을 빌드하고 수정할 수 있습니다. 또한 이 클래스를 사용하면 애플리케이션 구성 파일에 저장된 연결 문자열을 쉽게 관리할 수 있습니다.
SqlConnectionStringBuilder 유효한 키/값 쌍에 대한 검사를 수행합니다. 따라서 이 클래스를 사용하여 잘못된 연결 문자열을 만들 수 없습니다. 잘못된 쌍을 추가하려고 하면 예외가 throw됩니다. 클래스는 고정된 동의어 컬렉션을 유지 관리하며 동의어에서 잘 알려진 해당 키 이름으로 변환할 수 있습니다.
예를 들어 Item 속성을 사용하여 값을 검색하는 경우 필요한 키의 동의어를 포함하는 문자열을 지정할 수 있습니다. 예를 들어 Item[String] 속성 또는 Remove 메서드와 같이 키 이름이 포함된 문자열이 필요한 멤버를 사용하는 경우 연결 문자열 내에서 이 키에 대해 "네트워크 주소", "addr" 또는 기타 허용되는 동의어를 지정할 수 있습니다. 허용되는 동의어의 전체 목록은 ConnectionString 속성을 참조하세요.
Item[String] 속성은 악의적인 항목을 삽입하려는 시도를 처리합니다. 예를 들어 다음 코드는 기본 Item 속성(C#의 인덱서)을 사용하여 중첩된 키/값 쌍을 올바르게 이스케이프합니다.
Dim builder As New System.Data.SqlClient.SqlConnectionStringBuilder
builder("Data Source") = "(local)"
builder("Integrated Security") = True
builder("Initial Catalog") = "AdventureWorks;NewValue=Bad"
Console.WriteLine(builder.ConnectionString)
System.Data.SqlClient.SqlConnectionStringBuilder builder =
new System.Data.SqlClient.SqlConnectionStringBuilder();
builder["Data Source"] = "(local)";
builder["integrated Security"] = true;
builder["Initial Catalog"] = "AdventureWorks;NewValue=Bad";
Console.WriteLine(builder.ConnectionString);
결과는 안전한 방식으로 잘못된 값을 처리하는 다음 연결 문자열입니다.
Source=(local);Initial Catalog="AdventureWorks;NewValue=Bad";
Integrated Security=True
생성자
| 속성 | Description |
|---|---|
| SqlConnectionStringBuilder() |
SqlConnectionStringBuilder 클래스의 새 인스턴스를 초기화합니다. 새 개발의 경우 Microsoft 사용합니다. Data.SqlClient. 이 페이지에서는 System.Data.SqlClient를 문서화합니다. |
| SqlConnectionStringBuilder(String) |
SqlConnectionStringBuilder 클래스의 새 인스턴스를 초기화합니다. 제공된 연결 문자열은 인스턴스의 내부 연결 정보에 대한 데이터를 제공합니다. 새 개발의 경우 Microsoft 사용합니다. Data.SqlClient. 이 페이지에서는 System.Data.SqlClient를 문서화합니다. |
속성
| 속성 | Description |
|---|---|
| ApplicationIntent |
SQL Server 가용성 그룹의 데이터베이스에 연결할 때 애플리케이션 워크로드 유형을 선언합니다. ApplicationIntent사용하여 이 속성의 값을 설정할 수 있습니다. Always On 가용성 그룹에 대한 SqlClient 지원에 관한 자세한 내용은 고가용성 및 재해 복구에 대한 SqlClient 지원을 참조하세요. 새 개발의 경우 Microsoft 사용합니다. Data.SqlClient. 이 페이지에서는 System.Data.SqlClient를 문서화합니다. |
| ApplicationName |
연결 문자열과 연결된 애플리케이션의 이름을 가져오거나 설정합니다. 새 개발의 경우 Microsoft 사용합니다. Data.SqlClient. 이 페이지에서는 System.Data.SqlClient를 문서화합니다. |
| AsynchronousProcessing |
이 연결 문자열을 사용하여 만든 연결에서 비동기 처리를 허용하는지 여부를 나타내는 부울 값을 가져오거나 설정합니다. 새 개발의 경우 Microsoft 사용합니다. Data.SqlClient. 이 페이지에서는 System.Data.SqlClient를 문서화합니다. |
| AttachDBFilename |
기본 데이터 파일의 이름을 포함하는 문자열을 가져오거나 설정합니다. 여기에는 연결 가능한 데이터베이스의 전체 경로 이름이 포함됩니다. 새 개발의 경우 Microsoft 사용합니다. Data.SqlClient. 이 페이지에서는 System.Data.SqlClient를 문서화합니다. |
| Authentication |
연결 문자열의 인증을 가져옵니다. 새 개발의 경우 Microsoft 사용합니다. Data.SqlClient. 이 페이지에서는 System.Data.SqlClient를 문서화합니다. |
| BrowsableConnectionString |
Visual Studio 디자이너에서 ConnectionString 속성이 표시되는지 여부를 나타내는 값을 가져오거나 설정합니다. (다음에서 상속됨 DbConnectionStringBuilder) |
| ColumnEncryptionSetting |
연결 문자열 작성기에서 열 암호화 설정을 가져오거나 설정합니다. 새 개발의 경우 Microsoft 사용합니다. Data.SqlClient. 이 페이지에서는 System.Data.SqlClient를 문서화합니다. |
| ConnectionReset |
사용되지 않음.
Obsolete. 연결 풀에서 그릴 때 연결이 다시 설정되는지 여부를 나타내는 부울 값을 가져오거나 설정합니다. 새 개발의 경우 Microsoft 사용합니다. Data.SqlClient. 이 페이지에서는 System.Data.SqlClient를 문서화합니다. |
| ConnectionString |
DbConnectionStringBuilder 연결된 연결 문자열 가져오거나 설정합니다. (다음에서 상속됨 DbConnectionStringBuilder) |
| ConnectRetryCount |
유휴 연결 오류가 있음을 확인한 후 시도한 다시 연결 수입니다. 0에서 255 사이의 정수여야 합니다. 기본값은 1입니다. 유휴 연결 실패 시 다시 연결을 사용하지 않도록 설정하려면 0으로 설정합니다. 허용되는 범위를 벗어난 값으로 설정하면 ArgumentException throw됩니다. 새 개발의 경우 Microsoft 사용합니다. Data.SqlClient. 이 페이지에서는 System.Data.SqlClient를 문서화합니다. |
| ConnectRetryInterval |
유휴 연결 오류가 있음을 확인한 후 각 다시 연결 시도 사이의 시간(초)입니다. 1에서 60 사이의 정수여야 합니다. 기본값은 10초입니다. 허용되는 범위를 벗어난 값으로 설정하면 ArgumentException throw됩니다. 새 개발의 경우 Microsoft 사용합니다. Data.SqlClient. 이 페이지에서는 System.Data.SqlClient를 문서화합니다. |
| ConnectTimeout |
시도를 종료하고 오류를 생성하기 전에 서버에 대한 연결을 기다리는 시간(초)을 가져오거나 설정합니다. 새 개발의 경우 Microsoft 사용합니다. Data.SqlClient. 이 페이지에서는 System.Data.SqlClient를 문서화합니다. |
| ContextConnection |
SQL Server에 대한 클라이언트/서버 또는 In-process 연결을 만들어야 하는지 여부를 나타내는 값을 가져오거나 설정합니다. 이 API는 SQL SERVER SQLCLR(공용 언어 런타임) 컨텍스트 연결을 지원합니다. 새 클라이언트 애플리케이션 개발의 경우 Microsoft 사용합니다. Data.SqlClient; 는 SQLCLR 컨텍스트 연결을 위한 System.Data.SqlClient를 유지합니다. |
| Count |
속성 내에 ConnectionString 포함된 키의 현재 수를 가져옵니다. (다음에서 상속됨 DbConnectionStringBuilder) |
| CurrentLanguage |
SQL Server 언어 레코드 이름을 가져오거나 설정합니다. 새 개발의 경우 Microsoft 사용합니다. Data.SqlClient. 이 페이지에서는 System.Data.SqlClient를 문서화합니다. |
| DataSource |
연결할 SQL Server 인스턴스의 이름 또는 네트워크 주소를 가져오거나 설정합니다. 새 개발의 경우 Microsoft 사용합니다. Data.SqlClient. 이 페이지에서는 System.Data.SqlClient를 문서화합니다. |
| EnclaveAttestationUrl |
Enclave 기반 Always Encrypted와 함께 사용할 enclave 증명 URL을 가져오거나 설정합니다. 새 개발의 경우 Microsoft 사용합니다. Data.SqlClient. 이 페이지에서는 System.Data.SqlClient를 문서화합니다. |
| Encrypt |
서버에 인증서가 설치된 경우 SQL Server가 클라이언트와 서버 간에 전송된 모든 데이터에 SSL 암호화를 사용하는지 여부를 나타내는 부울 값을 가져오거나 설정합니다. 새 개발의 경우 Microsoft 사용합니다. Data.SqlClient. 이 페이지에서는 System.Data.SqlClient를 문서화합니다. |
| Enlist |
SQL Server 연결 풀러가 생성 스레드의 현재 트랜잭션 컨텍스트에서 연결을 자동으로 등록하는지 여부를 나타내는 부울 값을 가져오거나 설정합니다. 새 개발의 경우 Microsoft 사용합니다. Data.SqlClient. 이 페이지에서는 System.Data.SqlClient를 문서화합니다. |
| FailoverPartner |
주 서버가 다운된 경우 연결할 파트너 서버의 이름 또는 주소를 가져오거나 설정합니다. 새 개발의 경우 Microsoft 사용합니다. Data.SqlClient. 이 페이지에서는 System.Data.SqlClient를 문서화합니다. |
| InitialCatalog |
연결과 연결된 데이터베이스의 이름을 가져오거나 설정합니다. 새 개발의 경우 Microsoft 사용합니다. Data.SqlClient. 이 페이지에서는 System.Data.SqlClient를 문서화합니다. |
| IntegratedSecurity |
연결에 사용자 ID 및 암호가 지정되어 있는지( 새 개발의 경우 Microsoft 사용합니다. Data.SqlClient. 이 페이지에서는 System.Data.SqlClient를 문서화합니다. |
| IsFixedSize |
SqlConnectionStringBuilder 고정 크기인지 여부를 나타내는 값을 가져옵니다. 새 개발의 경우 Microsoft 사용합니다. Data.SqlClient. 이 페이지에서는 System.Data.SqlClient를 문서화합니다. |
| IsReadOnly |
DbConnectionStringBuilder 읽기 전용인지 여부를 나타내는 값을 가져옵니다. (다음에서 상속됨 DbConnectionStringBuilder) |
| Item[String] |
지정된 키와 연결된 값을 가져오거나 설정합니다. C#에서 이 속성은 인덱서입니다. 새 개발의 경우 Microsoft 사용합니다. Data.SqlClient. 이 페이지에서는 System.Data.SqlClient를 문서화합니다. |
| Keys |
에 ICollection 있는 키가 들어 있는 SqlConnectionStringBuilder키를 가져옵니다. 새 개발의 경우 Microsoft 사용합니다. Data.SqlClient. 이 페이지에서는 System.Data.SqlClient를 문서화합니다. |
| LoadBalanceTimeout |
연결이 소멸되기 전에 연결 풀에 있는 최소 시간(초)을 가져오거나 설정합니다. 새 개발의 경우 Microsoft 사용합니다. Data.SqlClient. 이 페이지에서는 System.Data.SqlClient를 문서화합니다. |
| MaxPoolSize |
이 특정 연결 문자열에 대해 연결 풀에 허용되는 최대 연결 수를 가져오거나 설정합니다. 새 개발의 경우 Microsoft 사용합니다. Data.SqlClient. 이 페이지에서는 System.Data.SqlClient를 문서화합니다. |
| MinPoolSize |
이 특정 연결 문자열에 대해 연결 풀에 허용되는 최소 연결 수를 가져오거나 설정합니다. 새 개발의 경우 Microsoft 사용합니다. Data.SqlClient. 이 페이지에서는 System.Data.SqlClient를 문서화합니다. |
| MultipleActiveResultSets |
true이면 애플리케이션이 MARS(여러 활성 결과 집합)를 유지할 수 있습니다. false이면 애플리케이션이 한 일괄 처리의 모든 결과 집합을 처리하거나 취소해야 해당 연결에서 다른 일괄 처리를 실행할 수 있습니다. 자세한 내용은 MARS(다중 활성 결과 집합)를 참조하세요. 새 개발의 경우 Microsoft 사용합니다. Data.SqlClient. 이 페이지에서는 System.Data.SqlClient를 문서화합니다. |
| MultiSubnetFailover |
애플리케이션이 다른 서브넷의 Always On AG(가용성 그룹) 또는 Always On FCI(장애 조치(failover) 클러스터 인스턴스)에 연결하는 경우 MultiSubnetFailover=true를 설정하면 (현재) 활성 서버에 대한 빠른 검색 및 연결을 제공합니다. Always On 기능에 대한 SqlClient 지원에 대한 자세한 내용은 고가용성 재해 복구대한 SqlClient 지원을 참조하세요. 새 개발의 경우 Microsoft 사용합니다. Data.SqlClient. 이 페이지에서는 System.Data.SqlClient를 문서화합니다. |
| NetworkLibrary |
SQL Server에 대한 연결을 설정하는 데 사용되는 네트워크 라이브러리의 이름을 포함하는 문자열을 가져오거나 설정합니다. 새 개발의 경우 Microsoft 사용합니다. Data.SqlClient. 이 페이지에서는 System.Data.SqlClient를 문서화합니다. |
| PacketSize |
SQL Server 인스턴스와 통신하는 데 사용되는 네트워크 패킷의 크기(바이트)를 가져오거나 설정합니다. 새 개발의 경우 Microsoft 사용합니다. Data.SqlClient. 이 페이지에서는 System.Data.SqlClient를 문서화합니다. |
| Password |
SQL Server 계정의 암호를 가져오거나 설정합니다. 새 개발의 경우 Microsoft 사용합니다. Data.SqlClient. 이 페이지에서는 System.Data.SqlClient를 문서화합니다. |
| PersistSecurityInfo |
암호 또는 액세스 토큰과 같은 보안에 중요한 정보가 연결이 열린 상태가 된 후 이 SqlConnectionStringBuilder 사용하여 만든 연결에서 연결 문자열의 일부로 반환되어야 하는지 여부를 나타내는 값을 가져오거나 설정합니다. 새 개발의 경우 Microsoft 사용합니다. Data.SqlClient. 이 페이지에서는 System.Data.SqlClient를 문서화합니다. |
| PoolBlockingPeriod |
연결 풀에 대한 차단 기간 동작입니다. 새 개발의 경우 Microsoft 사용합니다. Data.SqlClient. 이 페이지에서는 System.Data.SqlClient를 문서화합니다. |
| Pooling |
연결이 요청될 때마다 연결을 풀하거나 명시적으로 열지 여부를 나타내는 부울 값을 가져오거나 설정합니다. 새 개발의 경우 Microsoft 사용합니다. Data.SqlClient. 이 페이지에서는 System.Data.SqlClient를 문서화합니다. |
| Replication |
연결을 사용하여 복제가 지원되는지 여부를 나타내는 부울 값을 가져오거나 설정합니다. 새 개발의 경우 Microsoft 사용합니다. Data.SqlClient. 이 페이지에서는 System.Data.SqlClient를 문서화합니다. |
| TransactionBinding |
연결이 인리스트먼트된 새 개발의 경우 Microsoft 사용합니다. Data.SqlClient. 이 페이지에서는 System.Data.SqlClient를 문서화합니다. |
| TransparentNetworkIPResolution |
이 키의 값을 설정 새 개발의 경우 Microsoft 사용합니다. Data.SqlClient. 이 페이지에서는 System.Data.SqlClient를 문서화합니다. |
| TrustServerCertificate |
트러스트의 유효성을 검사하기 위해 인증서 체인을 건너뛰는 동안 채널이 암호화되는지 여부를 나타내는 값을 가져오거나 설정합니다. 새 개발의 경우 Microsoft 사용합니다. Data.SqlClient. 이 페이지에서는 System.Data.SqlClient를 문서화합니다. |
| TypeSystemVersion |
애플리케이션에서 예상하는 형식 시스템을 나타내는 문자열 값을 가져오거나 설정합니다. 새 개발의 경우 Microsoft 사용합니다. Data.SqlClient. 이 페이지에서는 System.Data.SqlClient를 문서화합니다. |
| UserID |
SQL Server에 연결할 때 사용할 사용자 ID를 가져오거나 설정합니다. 새 개발의 경우 Microsoft 사용합니다. Data.SqlClient. 이 페이지에서는 System.Data.SqlClient를 문서화합니다. |
| UserInstance |
기본 SQL Server Express 인스턴스에서 호출자의 계정으로 실행되는 런타임 시작 인스턴스로 연결을 리디렉션할지 여부를 나타내는 값을 가져오거나 설정합니다. 새 개발의 경우 Microsoft 사용합니다. Data.SqlClient. 이 페이지에서는 System.Data.SqlClient를 문서화합니다. |
| Values |
ICollection값이 포함된 SqlConnectionStringBuilder 가져옵니다. 새 개발의 경우 Microsoft 사용합니다. Data.SqlClient. 이 페이지에서는 System.Data.SqlClient를 문서화합니다. |
| WorkstationID |
SQL Server에 연결하는 워크스테이션의 이름을 가져오거나 설정합니다. 새 개발의 경우 Microsoft 사용합니다. Data.SqlClient. 이 페이지에서는 System.Data.SqlClient를 문서화합니다. |
메서드
명시적 인터페이스 구현
확장명 메서드
| 속성 | Description |
|---|---|
| AsParallel(IEnumerable) |
쿼리의 병렬 처리를 사용하도록 설정합니다. |
| AsQueryable(IEnumerable) |
IEnumerable IQueryable변환합니다. |
| Cast<TResult>(IEnumerable) |
IEnumerable 요소를 지정된 형식으로 캐스팅합니다. |
| OfType<TResult>(IEnumerable) |
지정된 형식에 따라 IEnumerable 요소를 필터링합니다. |