OdbcConnectionStringBuilder 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
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
- 상속
- 특성
예제
다음 콘솔 애플리케이션 몇 가지 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) |
메서드
명시적 인터페이스 구현
확장 메서드
Cast<TResult>(IEnumerable) |
IEnumerable의 요소를 지정된 형식으로 캐스팅합니다. |
OfType<TResult>(IEnumerable) |
지정된 형식에 따라 IEnumerable의 요소를 필터링합니다. |
AsParallel(IEnumerable) |
쿼리를 병렬화할 수 있도록 합니다. |
AsQueryable(IEnumerable) |
IEnumerable을 IQueryable로 변환합니다. |
적용 대상
추가 정보
.NET