DbConnectionStringBuilder 클래스

정의

강력한 형식의 연결 문자열 작성기에 대한 기본 클래스를 제공합니다.Provides a base class for strongly typed connection string builders.

public ref class DbConnectionStringBuilder : System::Collections::IDictionary, System::ComponentModel::ICustomTypeDescriptor
public class DbConnectionStringBuilder : System.Collections.IDictionary, System.ComponentModel.ICustomTypeDescriptor
type DbConnectionStringBuilder = class
    interface IDictionary
    interface ICustomTypeDescriptor
    interface ICollection
    interface IEnumerable
Public Class DbConnectionStringBuilder
Implements ICustomTypeDescriptor, IDictionary
상속
DbConnectionStringBuilder
파생
구현

예제

다음 콘솔 애플리케이션, Microsoft Jet 데이터베이스 및 SQL Server 데이터베이스에 대 한 두 개의 연결 문자열을 작성합니다.The following console application builds two connection strings, one for a Microsoft Jet database, and one for a SQL Server database. 각각의 경우에서 코드를 사용 하 여 제네릭 DbConnectionStringBuilder 클래스를 연결 문자열을 만들고 전달 됩니다는 ConnectionString 의 속성을 DbConnectionStringBuilder 생성자에 클래스의 인스턴스를 강력한 형식 연결 합니다.In each case, the code uses a generic DbConnectionStringBuilder class to create the connection string, and then passes the ConnectionString property of the DbConnectionStringBuilder instance to the constructor of the strongly type connection class. 이것이 필요 합니다. 코드를 만들었을 수도 있습니다 개별 강력한 형식의 연결 문자열 작성기 인스턴스.This is not required; the code could also have created individual strongly typed connection string builder instances. 또한 기존 연결 문자열을 구문 분석 하 고 연결 문자열의 내용을 조작 하는 여러 가지 방법을 보여 줍니다.The example also parses an existing connection string, and demonstrates various ways of manipulating the connection string's contents.

static void Main()
{
    DbConnectionStringBuilder builder =
        new DbConnectionStringBuilder();
    builder.ConnectionString = @"Data Source=c:\MyData\MyDb.mdb";
    builder.Add("Provider", "Microsoft.Jet.Oledb.4.0");
    builder.Add("Jet OLEDB:Database Password", "*******");
    builder.Add("Jet OLEDB:System Database",
        @"c:\MyData\Workgroup.mdb");
    // Set up row-level locking.
    builder.Add("Jet OLEDB:Database Locking Mode", 1);

    // The DbConnectionStringBuilder class 
    // is database agnostic, so it's possible to 
    // build any type of connection string using 
    // this class.

    // The ConnectionString property may have been 
    // formatted by the DbConnectionStringBuilder class.
    OleDbConnection oledbConnect = new
        OleDbConnection(builder.ConnectionString);
    Console.WriteLine(oledbConnect.ConnectionString);

    // Use the same DbConnectionStringBuilder to create 
    // a SqlConnection object.
    builder.Clear();
    builder.Add("integrated security", true);
    builder.Add("Initial Catalog", "AdventureWorks");
    builder.Add("Data Source", "(local)");

    SqlConnection sqlConnect = new
        SqlConnection(builder.ConnectionString);
    Console.WriteLine(sqlConnect.ConnectionString);

    // Pass the DbConnectionStringBuilder an existing 
    // connection string, and you can retrieve and
    // modify any of the elements.
    builder.ConnectionString = "server=(local);user id=*******;" +
        "password=*******;initial catalog=AdventureWorks";
    builder["Server"] = ".";
    builder.Remove("User ID");

    // Note that calling Remove on a nonexistent item doesn't
    // throw an exception.
    builder.Remove("BadItem");

    // Setting the indexer adds the value if 
    // necessary.
    builder["Integrated Security"] = true;
    builder.Remove("password");
    builder["User ID"] = "Hello";
    Console.WriteLine(builder.ConnectionString);

    Console.WriteLine("Press Enter to finish.");
    Console.ReadLine();
}
Sub Main()
    Dim builder As New DbConnectionStringBuilder()
    builder.ConnectionString = "Data Source=c:\MyData\MyDb.mdb"
    builder.Add("Provider", "Microsoft.Jet.Oledb.4.0")
    builder.Add("Jet OLEDB:Database Password", "*******")
    builder.Add("Jet OLEDB:System Database", _
        "c:\MyData\Workgroup.mdb")

    ' Set up row-level locking.
    builder.Add("Jet OLEDB:Database Locking Mode", 1)

    ' Note that the DbConnectionStringBuilder class 
    ' is database agnostic, and it's possible to 
    ' build any type of connection string using 
    ' this class.
    ' Notice that the ConnectionString property may have been 
    ' formatted by the DbConnectionStringBuilder class.

    Dim oledbConnect As New _
        OleDbConnection(builder.ConnectionString)
    Console.WriteLine(oledbConnect.ConnectionString)

    ' Use the same DbConnectionStringBuilder to create 
    ' a SqlConnection object.
    builder.Clear()
    builder.Add("integrated security", True)
    builder.Add("Initial Catalog", "AdventureWorks")
    builder.Add("Data Source", "(local)")

    Dim sqlConnect As New SqlConnection(builder.ConnectionString)
    Console.WriteLine(sqlConnect.ConnectionString)

    ' Pass the DbConnectionStringBuilder an existing 
    ' connection string, and you can retrieve and
    ' modify any of the elements.
    builder.ConnectionString = _
        "server=(local);user id=*******;" & _
        "password=*******;initial catalog=AdventureWorks"
    builder.Item("Server") = "."
    builder.Remove("User ID")

    ' Note that calling Remove on a nonexistent item doesn't
    ' throw an exception.
    builder.Remove("BadItem")

    ' The Item property is the default for the class, 
    ' and setting the Item property adds the value if 
    ' necessary.
    builder("Integrated Security") = True
    builder.Remove("password")
    builder.Item("User ID") = "Hello"
    Console.WriteLine(builder.ConnectionString)

    Console.WriteLine("Press Enter to finish.")
    Console.ReadLine()
End Sub

설명

합니다 DbConnectionStringBuilder 강력한 형식의 연결 문자열 작성기는 기본 클래스를 제공 하는 클래스 (SqlConnectionStringBuilder, OleDbConnectionStringBuilder등) 파생 합니다.The DbConnectionStringBuilder class provides the base class from which the strongly typed connection string builders (SqlConnectionStringBuilder, OleDbConnectionStringBuilder, and so on) derive. 연결 문자열 작성기에는 개발자 프로그래밍 방식으로 올바른 구문의 연결 문자열을 만들고 및 구문 분석 하 고 기존 연결 문자열을 다시 작성할 수 있습니다.The connection string builders let developers programmatically create syntactically correct connection strings, and parse and rebuild existing connection strings.

DbConnectionStringBuilder 데이터베이스와 관계 없는 방식으로 정의 된 합니다.The DbConnectionStringBuilder has been defined in a database-agnostic manner. 추가 System.Data.Common 네임 스페이스, 개발자가 필요한 기본 클래스는 임의 데이터베이스에 대해 사용할 수 있는 연결 문자열을 작성 하기 위해 프로그래밍할 수 있습니다.Because of the addition of the System.Data.Common namespace, developers require a base class against which they can program in order to build connection strings that can work against an arbitrary database. 따라서는 DbConnectionStringBuilder 클래스 사용자가 임의의 키/값 쌍을 할당 하 고 강력한 형식의 공급자 결과 연결 문자열을 전달할 수 있습니다.Therefore, the DbConnectionStringBuilder class lets users assign arbitrary key/value pairs and pass the resulting connection string to a strongly typed provider. 상속 되는 강력한 형식의 클래스를 제공 하는.NET Framework의 일부로 포함 된 모든 데이터 공급자 DbConnectionStringBuilder: SqlConnectionStringBuilderOracleConnectionStringBuilder합니다 OdbcConnectionStringBuilder, 및 OleDbConnectionStringBuilder합니다.All the data providers that are included as part of the .NET Framework provide a strongly typed class that inherits from DbConnectionStringBuilder: SqlConnectionStringBuilder, OracleConnectionStringBuilder, OdbcConnectionStringBuilder, and OleDbConnectionStringBuilder.

개발자 작성 하 고 할당 하 고 임의의 공급자에 대 한 연결 문자열을 편집할 수 있습니다.The developer can build, assign, and edit connection strings for any arbitrary provider. 특정 키/값 쌍을 지 원하는 공급자에 대 한 연결 문자열 작성기는 알려진된 쌍에 해당 하는 강력한 형식의 속성을 제공 합니다.For providers that support specific key/value pairs, the connection string builder provides strongly typed properties corresponding to the known pairs. 알 수 없는 값을 지원할 수 있어야 하는 공급자를 지원 하기 위해 개발자는 임의 키/값 쌍을 제공할 수도 있습니다.In order to support providers that require the ability to support unknown values, developers can also supply arbitrary key/value pairs.

DbConnectionStringBuilder 클래스는 ICustomTypeDescriptor 인터페이스를 구현합니다.The DbConnectionStringBuilder class implements the ICustomTypeDescriptor interface. 이 클래스 디자인 타임에 Visual Studio 디자이너를 사용 하 여 작동 한다는 것을 의미 합니다.This means that the class works with Visual Studio designers at design time. 개발자가 디자이너를 사용하여 Visual Studio 내에서 강력하게 형식화된 데이터 세트 및 강력한 형식의 연결을 만들 때 강력한 형식의 연결 문자열 작성기 클래스는 해당 형식과 관련된 속성을 표시하고 알려진 키의 공통 값을 매핑할 수 있는 변환기도 갖습니다.When developers use the designer to build strongly typed DataSets and strongly typed connections within Visual Studio, the strongly typed connection string builder class will display the properties associated with its type and will also have converters that can map common values for known keys.

연결 문자열을 만드는 애플리케이션의 일부로 사용할 수 있습니다 하는 개발자는 DbConnectionStringBuilder 클래스 또는 빌드 및 연결 문자열을 수정 하려면 강력한 형식의 파생 중 하나입니다.Developers needing to create connection strings as part of applications can use the DbConnectionStringBuilder class or one of its strongly typed derivatives to build and modify connection strings. DbConnectionStringBuilder 클래스도 쉽게 애플리케이션 구성 파일에 저장 된 연결 문자열을 관리 합니다.The DbConnectionStringBuilder class also makes it easy to manage connection strings stored in an application configuration file.

개발자가 연결 문자열 중 하나를 사용 하 여 강력한 형식의 연결 문자열 작성기 클래스를 만들 수 있습니다 하거나 사용할 수 있습니다는 DbConnectionStringBuilder 클래스입니다.Developers can create connection strings using either a strongly typed connection string builder class, or they can use the DbConnectionStringBuilder class. DbConnectionStringBuilder 유효한 키/값 쌍에 대 한 검사 하지 않기 때문입니다.The DbConnectionStringBuilder performs no checks for valid key/value pairs. 이 클래스를 사용할 경우 올바르지 않은 연결 문자열을 만들 가능성이 있습니다.Therefore, it is possible using this class to create invalid connection strings. SqlConnectionStringBuilder 지원만 키/값 쌍을 SQL Server에서 지원 되는; 잘못 된 쌍을 추가 하려고 하면 예외가 throw 됩니다.The SqlConnectionStringBuilder supports only key/value pairs that are supported by SQL Server; trying to add invalid pairs will throw an exception.

모두를 Add 메서드 및 Item[String] 속성 핸들 악의적 항목을 삽입 하려고 합니다.Both the Add method and Item[String] property handle tries to insert malicious entries. 예를 들어, 다음 코드는 중첩 된 키/값 쌍을 올바르게 이스케이프:For example, the following code correctly escapes the nested key/value pair:

Dim builder As New System.Data.Common.DbConnectionStringBuilder  
builder("Data Source") = "(local)"  
builder("integrated sSecurity") = True  
builder("Initial Catalog") = "AdventureWorks;NewValue=Bad"  
System.Data.Common.DbConnectionStringBuilder builder =   
    new System.Data.Common.DbConnectionStringBuilder();  
builder["Data Source"] = "(local)";  
builder["integrated Security"] = true;  
builder["Initial Catalog"] = "AdventureWorks;NewValue=Bad";  

결과는 안전한 방식으로 잘못된 값을 처리하는 다음 연결 문자열입니다.The result is the following connection string that handles the invalid value in a safe manner:

data source=(local);integrated security=True;  
initial catalog="AdventureWorks;NewValue=Bad"  

생성자

DbConnectionStringBuilder()

DbConnectionStringBuilder 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the DbConnectionStringBuilder class.

DbConnectionStringBuilder(Boolean)

DbConnectionStringBuilder 클래스의 새 인스턴스를 초기화합니다. 선택적으로 ODBC 규칙을 사용하여 값을 인용합니다.Initializes a new instance of the DbConnectionStringBuilder class, optionally using ODBC rules for quoting values.

속성

BrowsableConnectionString

ConnectionString 속성이 Visual Studio 디자이너에서 표시되는지 여부를 나타내는 값을 가져오거나 설정합니다.Gets or sets a value that indicates whether the ConnectionString property is visible in Visual Studio designers.

ConnectionString

DbConnectionStringBuilder와 연결된 연결 문자열을 가져오거나 설정합니다.Gets or sets the connection string associated with the DbConnectionStringBuilder.

Count

ConnectionString 속성 내에 포함된 키의 현재 수를 가져옵니다.Gets the current number of keys that are contained within the ConnectionString property.

IsFixedSize

DbConnectionStringBuilder의 크기가 고정되어 있는지 여부를 나타내는 값을 가져옵니다.Gets a value that indicates whether the DbConnectionStringBuilder has a fixed size.

IsReadOnly

DbConnectionStringBuilder이 읽기 전용인지 여부를 나타내는 값을 가져옵니다.Gets a value that indicates whether the DbConnectionStringBuilder is read-only.

Item[String]

지정된 키에 연결된 값을 가져오거나 설정합니다.Gets or sets the value associated with the specified key.

Keys

ICollection의 키를 포함하는 DbConnectionStringBuilder을 가져옵니다.Gets an ICollection that contains the keys in the DbConnectionStringBuilder.

Values

ICollection의 값을 포함하는 DbConnectionStringBuilder을 가져옵니다.Gets an ICollection that contains the values in the DbConnectionStringBuilder.

메서드

Add(String, Object)

지정한 키와 값을 가지는 엔트리를 DbConnectionStringBuilder에 추가합니다.Adds an entry with the specified key and value into the DbConnectionStringBuilder.

AppendKeyValuePair(StringBuilder, String, String)

기존 StringBuilder 개체에 키 및 값을 효율적이고 안전한 방법으로 추가할 수 있도록 합니다.Provides an efficient and safe way to append a key and value to an existing StringBuilder object.

AppendKeyValuePair(StringBuilder, String, String, Boolean)

기존 StringBuilder 개체에 키 및 값을 효율적이고 안전한 방법으로 추가할 수 있도록 합니다.Provides an efficient and safe way to append a key and value to an existing StringBuilder object.

Clear()

DbConnectionStringBuilder 인스턴스의 콘텐츠를 지웁니다.Clears the contents of the DbConnectionStringBuilder instance.

ClearPropertyDescriptors()

연결된 DbConnectionStringBuilder에서 PropertyDescriptor 개체의 컬렉션을 지웁니다.Clears the collection of PropertyDescriptor objects on the associated DbConnectionStringBuilder.

ContainsKey(String)

DbConnectionStringBuilder에 특정 키가 들어 있는지 여부를 확인합니다.Determines whether the DbConnectionStringBuilder contains a specific key.

Equals(Object)

지정한 개체와 현재 개체가 같은지 여부를 확인합니다.Determines whether the specified object is equal to the current object.

(다음에서 상속됨 Object)
EquivalentTo(DbConnectionStringBuilder)

DbConnectionStringBuilder 개체에 있는 연결 정보를 제공된 개체에 있는 연결 정보와 비교합니다.Compares the connection information in this DbConnectionStringBuilder object with the connection information in the supplied object.

GetHashCode()

기본 해시 함수로 작동합니다.Serves as the default hash function.

(다음에서 상속됨 Object)
GetProperties(Hashtable)

Hashtable의 모든 속성에 대한 정보를 사용하여 제공된 DbConnectionStringBuilder을 채웁니다.Fills a supplied Hashtable with information about all the properties of this DbConnectionStringBuilder.

GetType()

현재 인스턴스의 Type을 가져옵니다.Gets the Type of the current instance.

(다음에서 상속됨 Object)
MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.Creates a shallow copy of the current Object.

(다음에서 상속됨 Object)
Remove(String)

지정된 키를 가진 항목을 DbConnectionStringBuilder 인스턴스에서 제거합니다.Removes the entry with the specified key from the DbConnectionStringBuilder instance.

ShouldSerialize(String)

DbConnectionStringBuilder 인스턴스에 지정된 키가 있는지 여부를 나타냅니다.Indicates whether the specified key exists in this DbConnectionStringBuilder instance.

ToString()

DbConnectionStringBuilder와 관련된 연결 문자열을 반환합니다.Returns the connection string associated with this DbConnectionStringBuilder.

TryGetValue(String, Object)

DbConnectionStringBuilder에서 제공된 키에 해당하는 값을 검색합니다.Retrieves a value corresponding to the supplied key from this DbConnectionStringBuilder.

명시적 인터페이스 구현

ICollection.CopyTo(Array, Int32)

특정 ICollection 인덱스부터 시작하여 Array의 요소를 Array에 복사합니다.Copies the elements of the ICollection to an Array, starting at a particular Array index.

ICollection.IsSynchronized

ICollection에 대한 액세스가 동기화되어 스레드로부터 안전하게 보호되는지를 나타내는 값을 가져옵니다.Gets a value indicating whether access to the ICollection is synchronized (thread safe).

ICollection.SyncRoot

ICollection에 대한 액세스를 동기화하는 데 사용할 수 있는 개체를 가져옵니다.Gets an object that can be used to synchronize access to the ICollection.

ICustomTypeDescriptor.GetAttributes()

해당 구성 요소 인스턴스에 대한 사용자 지정 특성의 컬렉션을 반환합니다.Returns a collection of custom attributes for this instance of a component.

ICustomTypeDescriptor.GetClassName()

해당 구성 요소 인스턴스의 클래스 이름을 반환합니다.Returns the class name of this instance of a component.

ICustomTypeDescriptor.GetComponentName()

해당 구성 요소 인스턴스의 이름을 반환합니다.Returns the name of this instance of a component.

ICustomTypeDescriptor.GetConverter()

해당 구성 요소 인스턴스에 대한 형식 변환기를 반환합니다.Returns a type converter for this instance of a component.

ICustomTypeDescriptor.GetDefaultEvent()

해당 구성 요소 인스턴스의 기본 이벤트를 반환합니다.Returns the default event for this instance of a component.

ICustomTypeDescriptor.GetDefaultProperty()

해당 구성 요소 인스턴스의 기본 속성을 반환합니다.Returns the default property for this instance of a component.

ICustomTypeDescriptor.GetEditor(Type)

해당 구성 요소 인스턴스에 대한 지정된 형식의 편집기를 반환합니다.Returns an editor of the specified type for this instance of a component.

ICustomTypeDescriptor.GetEvents()

해당 구성 요소 인스턴스의 이벤트를 반환합니다.Returns the events for this instance of a component.

ICustomTypeDescriptor.GetEvents(Attribute[])

지정된 특성 배열을 필터로 사용하여 해당 구성 요소 인스턴스의 이벤트를 반환합니다.Returns the events for this instance of a component using the specified attribute array as a filter.

ICustomTypeDescriptor.GetProperties()

해당 구성 요소 인스턴스의 속성을 반환합니다.Returns the properties for this instance of a component.

ICustomTypeDescriptor.GetProperties(Attribute[])

특성 배열을 필터로 사용하여 해당 구성 요소 인스턴스의 속성을 반환합니다.Returns the properties for this instance of a component using the attribute array as a filter.

ICustomTypeDescriptor.GetPropertyOwner(PropertyDescriptor)

지정된 속성 설명자가 설명하는 속성이 포함된 개체를 반환합니다.Returns an object that contains the property described by the specified property descriptor.

IDictionary.Add(Object, Object)

제공된 키와 값이 있는 요소를 IDictionary 개체에 추가합니다.Adds an element with the provided key and value to the IDictionary object.

IDictionary.Contains(Object)

IDictionary 개체에 지정한 키를 가진 요소가 포함되어 있는지 여부를 결정합니다.Determines whether the IDictionary object contains an element with the specified key.

IDictionary.GetEnumerator()

IDictionaryEnumerator 개체의 IDictionary 개체를 반환합니다.Returns an IDictionaryEnumerator object for the IDictionary object.

IDictionary.IsFixedSize
IDictionary.IsReadOnly
IDictionary.Item[Object]

지정한 키를 가진 요소를 가져오거나 설정합니다.Gets or sets the element with the specified key.

IDictionary.Remove(Object)

IDictionary 개체에서 지정된 키를 가진 요소를 제거합니다.Removes the element with the specified key from the IDictionary object.

IEnumerable.GetEnumerator()

컬렉션을 반복하는 열거자를 반환합니다.Returns an enumerator that iterates through a collection.

확장 메서드

Cast<TResult>(IEnumerable)

IEnumerable의 요소를 지정된 형식으로 캐스팅합니다.Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable)

지정된 형식에 따라 IEnumerable의 요소를 필터링합니다.Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable)

쿼리를 병렬화할 수 있도록 합니다.Enables parallelization of a query.

AsQueryable(IEnumerable)

IEnumerableIQueryable로 변환합니다.Converts an IEnumerable to an IQueryable.

적용 대상

추가 정보