다음을 통해 공유


OdbcConnectionStringBuilder 클래스

정의

OdbcConnection 클래스에서 사용하는 연결 문자열의 내용을 손쉽게 만들고 관리할 수 있는 방법을 제공합니다.

public ref class OdbcConnectionStringBuilder sealed : System::Data::Common::DbConnectionStringBuilder
public sealed class OdbcConnectionStringBuilder : System.Data.Common.DbConnectionStringBuilder
[System.ComponentModel.TypeConverter(typeof(System.Data.Odbc.OdbcConnectionStringBuilder+OdbcConnectionStringBuilderConverter))]
public sealed class OdbcConnectionStringBuilder : System.Data.Common.DbConnectionStringBuilder
type OdbcConnectionStringBuilder = class
    inherit DbConnectionStringBuilder
[<System.ComponentModel.TypeConverter(typeof(System.Data.Odbc.OdbcConnectionStringBuilder+OdbcConnectionStringBuilderConverter))>]
type OdbcConnectionStringBuilder = class
    inherit DbConnectionStringBuilder
Public NotInheritable Class OdbcConnectionStringBuilder
Inherits DbConnectionStringBuilder
상속
OdbcConnectionStringBuilder
특성

예제

다음 콘솔 애플리케이션 몇 가지 ODBC 데이터베이스에 대 한 연결 문자열을 작성 합니다. 먼저 이 예제에서는 Microsoft Access 데이터베이스에 대한 연결 문자열 만듭니다. 그런 다음 IBM DB2 데이터베이스에 대한 연결 문자열 만듭니다. 또한 이 예제에서는 기존 연결 문자열 구문 분석하고 연결 문자열 내용을 조작하는 다양한 방법을 보여 줍니다.

참고

이 예제에는 OdbcConnectionStringBuilder가 연결 문자열로 작업하는 방법을 보여 주기 위한 암호가 포함되어 있습니다. 애플리케이션에서는 Windows 인증을 사용하는 것이 좋습니다. 암호를 사용해야 하는 경우에는 애플리케이션에 하드 코드된 암호를 포함하지 마십시오.

using System.Data.Odbc;

class Program
{
    static void Main()
    {
        OdbcConnectionStringBuilder builder =
            new OdbcConnectionStringBuilder();
        builder.Driver = "Microsoft Access Driver (*.mdb)";

        // Call the Add method to explicitly add key/value
        // pairs to the internal collection.
        builder.Add("Dbq", "C:\\info.mdb");
        builder.Add("Uid", "Admin");
        builder.Add("Pwd", "pass!word1");

        Console.WriteLine(builder.ConnectionString);
        Console.WriteLine();

        // Clear current values and reset known keys to their
        // default values.
        builder.Clear();

        // Pass the OdbcConnectionStringBuilder an existing
        // connection string, and you can retrieve and
        // modify any of the elements.
        builder.ConnectionString =
            "driver={IBM DB2 ODBC DRIVER};Database=SampleDB;" +
            "hostname=SampleServerName;port=SamplePortNum;" +
            "protocol=TCPIP;uid=Admin;pwd=pass!word1";

        Console.WriteLine("protocol = "
            + builder["protocol"].ToString());
        Console.WriteLine();

        // Modify existing items.
        builder["uid"] = "NewUser";
        builder["pwd"] = "Pass@word2";

        // Call the Remove method to remove items from
        // the collection of key/value pairs.
        builder.Remove("port");

        // Note that calling Remove on a nonexistent item does not
        // throw an exception.
        builder.Remove("BadItem");
        Console.WriteLine(builder.ConnectionString);
        Console.WriteLine();

        // Setting the indexer adds the associated value, if
        // necessary.
        builder["NewKey"] = "newValue";
        Console.WriteLine(builder.ConnectionString);

        Console.WriteLine("Press Enter to finish.");
        Console.ReadLine();
    }
}
Imports System.Data.Odbc    

Module Module1
  Sub Main()
    Dim builder As New OdbcConnectionStringBuilder()
    builder.Driver = "Microsoft Access Driver (*.mdb)"

    ' Call the Add method to explicitly add key/value
    ' pairs to the internal collection.
    builder.Add("Dbq", "C:\info.mdb")
    builder.Add("Uid", "Admin")
    builder.Add("Pwd", "pass!word1")

    Console.WriteLine(builder.ConnectionString)
    Console.WriteLine()

    ' Clear current values and reset known keys to their
    ' default values.
    builder.Clear()

    ' Pass the OdbcConnectionStringBuilder an existing 
    ' connection string, and you can retrieve and
    ' modify any of the elements.
    builder.ConnectionString = _
        "driver={IBM DB2 ODBC DRIVER};Database=SampleDB;" & _
        "hostname=SampleServerName;port=SamplePortNum;" & _
        "protocol=TCPIP;uid=Admin;pwd=pass!word1"

    Console.WriteLine("protocol = " & builder("protocol").ToString())
    Console.WriteLine()

    ' Modify existing items:
    builder("uid") = "NewUser"
    builder("pwd") = "Pass@word2"

    ' Call the Remove method to remove items from 
    ' the collection of key/value pairs.
    builder.Remove("port")

    ' Note that calling Remove on a nonexistent item does not
    ' throw an exception.
    builder.Remove("BadItem")
    Console.WriteLine(builder.ConnectionString)
    Console.WriteLine()

    ' The Item property is the default for the class, 
    ' and setting the Item property adds the value, if 
    ' necessary.
    builder("NewKey") = "newValue"
    Console.WriteLine(builder.ConnectionString)

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

설명

연결 문자열 작성기를 사용하면 개발자가 프로그래밍 방식으로 구문적으로 올바른 연결 문자열을 만들고 클래스의 속성과 메서드를 사용하여 기존 연결 문자열을 구문 분석하고 다시 작성할 수 있습니다. 연결 문자열 작성기에서는 ODBC 연결에서 허용하는 알려진 키/값 쌍에 해당하는 강력한 형식의 속성을 제공하며 개발자는 다른 연결 문자열 값에 대해 임의의 키/값 쌍을 추가할 수 있습니다.

애플리케이션에서 연결 문자열을 만들어야 하는 개발자는 OdbcConnectionStringBuilder 클래스를 사용하여 연결 문자열을 빌드하고 수정할 수 있습니다. 이 클래스를 사용하여 애플리케이션 구성 파일에 저장된 연결 문자열을 쉽게 관리할 수도 있습니다. OdbcConnectionStringBuilder 는 알려진 키/값 쌍의 제한된 집합에 대해서만 검사를 수행합니다. 따라서이 클래스 잘못 된 연결 문자열을 만드는 데 사용할 수 있습니다. 다음 표에서는 클래스 내 OdbcConnectionStringBuilder 의 해당 속성 및 기본값과 함께 알려진 특정 키를 나열합니다. 개발자는 이러한 특정 값 외에도 instance 포함된 컬렉션에 키/값 쌍을 OdbcConnectionStringBuilder 추가할 수 있습니다.

속성 의견 기본값
드라이버 Driver 개발자는 속성을 설정할 때 드라이버 이름을 둘러싼 중괄호를 Driver 포함해서는 안 됩니다. OdbcConnectionStringBuilder instance 필요에 따라 중괄호를 추가합니다. 빈 문자열
DSN Dsn 빈 문자열

연결 문자열 내의 Driver 값이 세미콜론(;))을 포함하는 경우 는 OdbcConnectionStringBuilder 값을 연결 문자열 따옴표로 묶습니다. 세미콜론을 자주 포함하는 값에서 Driver 이 문제를 방지하기 위해 클래스는 OdbcConnectionStringBuilder 항상 이 값을 중괄호로 묶습니다. ODBC 사양은 세미콜론을 포함하는 드라이버 값이 중괄호로 묶어야 하며 이 클래스는 이를 처리합니다.

속성은 Item[] 악성 코드를 삽입하려는 시도를 처리합니다. 예를 들어, 다음을 사용 하는 코드 기본 Item[] 속성 (C# 인덱서)에 중첩 된 키/값 쌍을 올바르게 이스케이프 합니다.

Dim builder As _
 New System.Data.Odbc.OdbcConnectionStringBuilder
' Take advantage of the Driver property.
builder.Driver = "SQL Server"
builder("Server") = "MyServer;NewValue=Bad"
Console.WriteLine(builder.ConnectionString)
System.Data.Odbc.OdbcConnectionStringBuilder builder =
  new System.Data.Odbc.OdbcConnectionStringBuilder();
// Take advantage of the Driver property.
builder.Driver = "SQL Server";
builder["Server"] = "MyServer;NewValue=Bad";
Console.WriteLine(builder.ConnectionString);

결과는 안전한 방식으로 잘못된 값을 처리하는 다음 연결 문자열입니다.

Driver={SQL Server};Server="MyServer;NewValue=Bad"

생성자

OdbcConnectionStringBuilder()

OdbcConnectionStringBuilder 클래스의 새 인스턴스를 초기화합니다.

OdbcConnectionStringBuilder(String)

OdbcConnectionStringBuilder 클래스의 새 인스턴스를 초기화합니다. 제공된 연결 문자열에서는 인스턴스의 내부 연결 정보에 대한 데이터를 제공합니다.

속성

BrowsableConnectionString

ConnectionString 속성이 Visual Studio 디자이너에서 표시되는지 여부를 나타내는 값을 가져오거나 설정합니다.

(다음에서 상속됨 DbConnectionStringBuilder)
ConnectionString

DbConnectionStringBuilder와 연결된 연결 문자열을 가져오거나 설정합니다.

(다음에서 상속됨 DbConnectionStringBuilder)
Count

ConnectionString 속성 내에 포함된 키의 현재 수를 가져옵니다.

(다음에서 상속됨 DbConnectionStringBuilder)
Driver

연결과 관련된 ODBC 드라이버의 이름을 가져오거나 설정합니다.

Dsn

연결과 관련된 DSN(데이터 소스 이름)의 이름을 가져오거나 설정합니다.

IsFixedSize

DbConnectionStringBuilder의 크기가 고정되어 있는지 여부를 나타내는 값을 가져옵니다.

(다음에서 상속됨 DbConnectionStringBuilder)
IsReadOnly

DbConnectionStringBuilder이 읽기 전용인지 여부를 나타내는 값을 가져옵니다.

(다음에서 상속됨 DbConnectionStringBuilder)
Item[String]

지정된 키에 연결된 값을 가져오거나 설정합니다. C#에서는 이 속성이 인덱서입니다.

Keys

ICollection의 키를 포함하는 OdbcConnectionStringBuilder을 가져옵니다.

Values

ICollection의 값을 포함하는 DbConnectionStringBuilder을 가져옵니다.

(다음에서 상속됨 DbConnectionStringBuilder)

메서드

Add(String, Object)

지정한 키와 값을 가지는 엔트리를 DbConnectionStringBuilder에 추가합니다.

(다음에서 상속됨 DbConnectionStringBuilder)
Clear()

OdbcConnectionStringBuilder 인스턴스의 콘텐츠를 지웁니다.

ClearPropertyDescriptors()

연결된 DbConnectionStringBuilder에서 PropertyDescriptor 개체의 컬렉션을 지웁니다.

(다음에서 상속됨 DbConnectionStringBuilder)
ContainsKey(String)

OdbcConnectionStringBuilder에 특정 키가 들어 있는지 여부를 확인합니다.

Equals(Object)

지정된 개체가 현재 개체와 같은지 확인합니다.

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

DbConnectionStringBuilder 개체의 연결 정보를 제공된 개체의 연결 정보와 비교합니다.

(다음에서 상속됨 DbConnectionStringBuilder)
GetHashCode()

기본 해시 함수로 작동합니다.

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

제공된 Hashtable 을 이 DbConnectionStringBuilder의 모든 속성에 대한 정보로 채웁니다.

(다음에서 상속됨 DbConnectionStringBuilder)
GetType()

현재 인스턴스의 Type을 가져옵니다.

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

현재 Object의 단순 복사본을 만듭니다.

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

지정된 키를 가진 항목을 OdbcConnectionStringBuilder 인스턴스에서 제거합니다.

ShouldSerialize(String)

DbConnectionStringBuilder 인스턴스에 지정된 키가 있는지 여부를 나타냅니다.

(다음에서 상속됨 DbConnectionStringBuilder)
ToString()

DbConnectionStringBuilder와 연결된 연결 문자열을 반환합니다.

(다음에서 상속됨 DbConnectionStringBuilder)
TryGetValue(String, Object)

OdbcConnectionStringBuilder에서 제공된 키에 해당하는 값을 검색합니다.

명시적 인터페이스 구현

ICollection.CopyTo(Array, Int32)

특정 ICollection 인덱스부터 시작하여 Array의 요소를 Array에 복사합니다.

(다음에서 상속됨 DbConnectionStringBuilder)
ICollection.IsSynchronized

ICollection에 대한 액세스가 동기화되어 스레드로부터 안전하게 보호되는지를 나타내는 값을 가져옵니다.

(다음에서 상속됨 DbConnectionStringBuilder)
ICollection.SyncRoot

ICollection에 대한 액세스를 동기화하는 데 사용할 수 있는 개체를 가져옵니다.

(다음에서 상속됨 DbConnectionStringBuilder)
ICustomTypeDescriptor.GetAttributes()

해당 구성 요소 인스턴스에 대한 사용자 지정 특성의 컬렉션을 반환합니다.

(다음에서 상속됨 DbConnectionStringBuilder)
ICustomTypeDescriptor.GetClassName()

해당 구성 요소 인스턴스의 클래스 이름을 반환합니다.

(다음에서 상속됨 DbConnectionStringBuilder)
ICustomTypeDescriptor.GetComponentName()

해당 구성 요소 인스턴스의 이름을 반환합니다.

(다음에서 상속됨 DbConnectionStringBuilder)
ICustomTypeDescriptor.GetConverter()

해당 구성 요소 인스턴스에 대한 형식 변환기를 반환합니다.

(다음에서 상속됨 DbConnectionStringBuilder)
ICustomTypeDescriptor.GetDefaultEvent()

해당 구성 요소 인스턴스의 기본 이벤트를 반환합니다.

(다음에서 상속됨 DbConnectionStringBuilder)
ICustomTypeDescriptor.GetDefaultProperty()

해당 구성 요소 인스턴스의 기본 속성을 반환합니다.

(다음에서 상속됨 DbConnectionStringBuilder)
ICustomTypeDescriptor.GetEditor(Type)

해당 구성 요소 인스턴스에 대한 지정된 형식의 편집기를 반환합니다.

(다음에서 상속됨 DbConnectionStringBuilder)
ICustomTypeDescriptor.GetEvents()

해당 구성 요소 인스턴스의 이벤트를 반환합니다.

(다음에서 상속됨 DbConnectionStringBuilder)
ICustomTypeDescriptor.GetEvents(Attribute[])

지정된 특성 배열을 필터로 사용하여 해당 구성 요소 인스턴스의 이벤트를 반환합니다.

(다음에서 상속됨 DbConnectionStringBuilder)
ICustomTypeDescriptor.GetProperties()

해당 구성 요소 인스턴스의 속성을 반환합니다.

(다음에서 상속됨 DbConnectionStringBuilder)
ICustomTypeDescriptor.GetProperties(Attribute[])

특성 배열을 필터로 사용하여 해당 구성 요소 인스턴스의 속성을 반환합니다.

(다음에서 상속됨 DbConnectionStringBuilder)
ICustomTypeDescriptor.GetPropertyOwner(PropertyDescriptor)

지정된 속성 설명자가 설명하는 속성이 포함된 개체를 반환합니다.

(다음에서 상속됨 DbConnectionStringBuilder)
IDictionary.Add(Object, Object)

제공된 키와 값을 가진 요소를 IDictionary 개체에 추가합니다.

(다음에서 상속됨 DbConnectionStringBuilder)
IDictionary.Contains(Object)

IDictionary 개체에 지정한 키를 가진 요소가 포함되어 있는지 여부를 결정합니다.

(다음에서 상속됨 DbConnectionStringBuilder)
IDictionary.GetEnumerator()

IDictionaryEnumerator 개체의 IDictionary 개체를 반환합니다.

(다음에서 상속됨 DbConnectionStringBuilder)
IDictionary.Item[Object]

지정한 키를 가진 요소를 가져오거나 설정합니다.

(다음에서 상속됨 DbConnectionStringBuilder)
IDictionary.Remove(Object)

IDictionary 개체에서 지정한 키를 가지는 요소를 제거합니다.

(다음에서 상속됨 DbConnectionStringBuilder)
IEnumerable.GetEnumerator()

컬렉션을 반복하는 열거자를 반환합니다.

(다음에서 상속됨 DbConnectionStringBuilder)

확장 메서드

Cast<TResult>(IEnumerable)

IEnumerable의 요소를 지정된 형식으로 캐스팅합니다.

OfType<TResult>(IEnumerable)

지정된 형식에 따라 IEnumerable의 요소를 필터링합니다.

AsParallel(IEnumerable)

쿼리를 병렬화할 수 있도록 합니다.

AsQueryable(IEnumerable)

IEnumerableIQueryable로 변환합니다.

적용 대상

추가 정보