OleDbConnectionStringBuilder 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
OleDbConnection 클래스에서 사용하는 연결 문자열의 콘텐츠를 만들고 관리하는 간단한 방법을 제공합니다.
public ref class OleDbConnectionStringBuilder sealed : System::Data::Common::DbConnectionStringBuilder
[System.ComponentModel.TypeConverter(typeof(System.Data.OleDb.OleDbConnectionStringBuilder+OleDbConnectionStringBuilderConverter))]
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("OleDbConnection is not AOT-compatible.")]
public sealed class OleDbConnectionStringBuilder : System.Data.Common.DbConnectionStringBuilder
[System.ComponentModel.TypeConverter(typeof(System.Data.OleDb.OleDbConnectionStringBuilder+OleDbConnectionStringBuilderConverter))]
public sealed class OleDbConnectionStringBuilder : System.Data.Common.DbConnectionStringBuilder
[<System.ComponentModel.TypeConverter(typeof(System.Data.OleDb.OleDbConnectionStringBuilder+OleDbConnectionStringBuilderConverter))>]
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("OleDbConnection is not AOT-compatible.")>]
type OleDbConnectionStringBuilder = class
inherit DbConnectionStringBuilder
[<System.ComponentModel.TypeConverter(typeof(System.Data.OleDb.OleDbConnectionStringBuilder+OleDbConnectionStringBuilderConverter))>]
type OleDbConnectionStringBuilder = class
inherit DbConnectionStringBuilder
Public NotInheritable Class OleDbConnectionStringBuilder
Inherits DbConnectionStringBuilder
- 상속
- 특성
예제
다음 콘솔 애플리케이션은 여러 OLE DB 데이터베이스에 대한 연결 문자열을 빌드합니다. 먼저 Microsoft Access 데이터베이스에 대한 연결 문자열 만든 다음 IBM DB2 데이터베이스에 대한 연결 문자열 만듭니다. 또한 이 예제에서는 기존 연결 문자열을 구문 분석하고 연결 문자열의 내용을 조작하는 다양한 방법을 보여 줍니다.
메모
이 예제에는 연결 문자열의 작동 방식을 OleDbConnectionStringBuilder 보여 주는 암호가 포함되어 있습니다. 애플리케이션에서는 Windows 인증을 사용하는 것이 좋습니다. 암호를 사용해야 하는 경우 애플리케이션에 하드 코딩된 암호를 포함하지 마세요.
using System.Data.OleDb;
class Program
{
static void Main(string[] args)
{
OleDbConnectionStringBuilder builder = new OleDbConnectionStringBuilder();
builder.ConnectionString = @"Data Source=C:\Sample.mdb";
// Call the Add method to explicitly add key/value
// pairs to the internal collection.
builder.Add("Provider", "Microsoft.Jet.Oledb.4.0");
builder.Add("Jet OLEDB:Database Password", "MyPassword!");
builder.Add("Jet OLEDB:System Database", @"C:\Workgroup.mdb");
// Set up row-level locking.
builder.Add("Jet OLEDB:Database Locking Mode", 1);
Console.WriteLine(builder.ConnectionString);
Console.WriteLine();
// Clear current values and reset known keys to their
// default values.
builder.Clear();
// Pass the OleDbConnectionStringBuilder an existing
// connection string, and you can retrieve and
// modify any of the elements.
builder.ConnectionString =
"Provider=DB2OLEDB;Network Transport Library=TCPIP;" +
"Network Address=192.168.0.12;Initial Catalog=DbAdventures;" +
"Package Collection=SamplePackage;Default Schema=SampleSchema;";
Console.WriteLine("Network Address = " + builder["Network Address"].ToString());
Console.WriteLine();
// Modify existing items.
builder["Package Collection"] = "NewPackage";
builder["Default Schema"] = "NewSchema";
// Call the Remove method to remove items from
// the collection of key/value pairs.
builder.Remove("User ID");
// 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 value, if
// necessary.
builder["User ID"] = "SampleUser";
builder["Password"] = "SamplePassword";
Console.WriteLine(builder.ConnectionString);
Console.WriteLine("Press Enter to finish.");
Console.ReadLine();
}
}
Imports System.Data.OleDb
Imports System.Collections
Module Module1
Sub Main()
Dim builder As New OleDbConnectionStringBuilder()
builder.ConnectionString = "Data Source=C:\Sample.mdb"
' Call the Add method to explicitly add key/value
' pairs to the internal collection.
builder.Add("Provider", "Microsoft.Jet.Oledb.4.0")
builder.Add("Jet OLEDB:Database Password", "MyPassword!")
builder.Add("Jet OLEDB:System Database", "C:\Workgroup.mdb")
' Set up row-level locking.
builder.Add("Jet OLEDB:Database Locking Mode", 1)
Console.WriteLine(builder.ConnectionString)
Console.WriteLine()
' Clear current values and reset known keys to their
' default values.
builder.Clear()
' Pass the OleDbConnectionStringBuilder an existing
' connection string, and you can retrieve and
' modify any of the elements.
builder.ConnectionString = "..."
Console.WriteLine("Network Address = " & builder("Network Address").ToString())
Console.WriteLine()
' Modify existing items.
builder("Package Collection") = "NewPackage"
builder("Default Schema") = "NewSchema"
' Call the Remove method to remove items from
' the collection of key/value pairs.
builder.Remove("User ID")
' 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("User ID") = "SampleUser"
builder("Password") = "SamplePassword"
Console.WriteLine(builder.ConnectionString)
Console.WriteLine("Press Enter to finish.")
Console.ReadLine()
End Sub
End Module
설명
연결 문자열 작성기를 사용하면 개발자가 프로그래밍 방식으로 올바른 연결 문자열을 만들고 클래스의 속성과 메서드를 사용하여 기존 연결 문자열을 구문 분석하고 다시 작성할 수 있습니다. 연결 문자열 작성기에서는 OLE DB 연결에서 허용하는 알려진 키/값 쌍에 해당하는 강력한 형식의 속성을 제공하며 개발자는 다른 연결 문자열 값에 대해 임의의 키/값 쌍을 추가할 수 있습니다. OleDbConnectionStringBuilder 클래스가 ICustomTypeDescriptor 인터페이스를 구현합니다. 즉, 클래스는 디자인 타임에 Visual Studio .NET 디자이너와 함께 작동합니다. 개발자가 디자이너를 사용하여 Visual Studio .NET 내에서 강력한 형식의 DataSets 및 강력한 형식의 연결을 빌드하는 경우 강력한 형식의 연결 문자열 작성기 클래스에는 해당 형식과 연결된 속성이 표시되고 알려진 키에 대한 공통 값을 매핑할 수 있는 변환기도 있습니다.
애플리케이션의 일부로 연결 문자열을 만들어야 하는 개발자는 클래스를 OleDbConnectionStringBuilder 사용하여 연결 문자열을 빌드하고 수정할 수 있습니다. 또한 이 클래스를 사용하면 애플리케이션 구성 파일에 저장된 연결 문자열을 쉽게 관리할 수 있습니다. 알려진 OleDbConnectionStringBuilder 키/값 쌍의 제한된 집합에 대해서만 검사를 수행합니다. 따라서 이 클래스를 사용하여 잘못된 연결 문자열을 만들 수 있습니다. 다음 표에서는 알려진 키와 클래스 내의 OleDbConnectionStringBuilder 해당 속성 및 기본값을 나열합니다. 개발자는 이러한 특정 값 외에도 인스턴스 내에 포함된 컬렉션에 키/값 쌍을 OleDbConnectionStringBuilder 추가할 수 있습니다.
| 암호키 | 재산 | 기본값 |
|---|---|---|
| 파일 이름 | FileName | "" |
| 공급자 | Provider | "" |
| 데이터 원본 | DataSource | "" |
| 보안 정보 유지 | PersistSecurityInfo | 거짓 |
| OLE DB 서비스 | OleDbServices | -13 |
Item[] 속성은 악의적인 항목을 삽입하려는 시도를 처리합니다. 예를 들어 다음 코드는 기본 Item[] 속성(C#의 인덱서)을 사용하여 중첩된 키/값 쌍을 올바르게 이스케이프합니다.
Dim builder As _
New System.Data.OleDb.OleDbConnectionStringBuilder
builder("Provider") = "Microsoft.Jet.OLEDB.4.0"
builder("Data Source") = "C:\Sample.mdb"
builder("User Id") = "Admin;NewValue=Bad"
System.Data.OleDb.OleDbConnectionStringBuilder builder =
new System.Data.OleDb.OleDbConnectionStringBuilder();
builder["Provider"] = "Microsoft.Jet.OLEDB.4.0";
builder["Data Source"] = "C:\\Sample.mdb";
builder["User Id"] = "Admin;NewValue=Bad";
결과는 안전한 방식으로 잘못된 값을 처리하는 다음 연결 문자열입니다.
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Sample.mdb;User ID="Admin;NewValue=Bad"
생성자
| Name | Description |
|---|---|
| OleDbConnectionStringBuilder() |
OleDbConnectionStringBuilder 클래스의 새 인스턴스를 초기화합니다. |
| OleDbConnectionStringBuilder(String) |
OleDbConnectionStringBuilder 클래스의 새 인스턴스를 초기화합니다. 제공된 연결 문자열은 인스턴스의 내부 연결 정보에 대한 데이터를 제공합니다. |
속성
| Name | Description |
|---|---|
| BrowsableConnectionString |
Visual Studio 디자이너에서 ConnectionString 속성이 표시되는지 여부를 나타내는 값을 가져오거나 설정합니다. (다음에서 상속됨 DbConnectionStringBuilder) |
| ConnectionString |
DbConnectionStringBuilder 연결된 연결 문자열 가져오거나 설정합니다. (다음에서 상속됨 DbConnectionStringBuilder) |
| Count |
속성 내에 ConnectionString 포함된 키의 현재 수를 가져옵니다. (다음에서 상속됨 DbConnectionStringBuilder) |
| DataSource |
연결할 데이터 원본의 이름을 가져오거나 설정합니다. |
| FileName |
데이터 원본에 연결하기 위한 UDL(유니버설 데이터 링크) 파일의 이름을 가져오거나 설정합니다. |
| IsFixedSize |
DbConnectionStringBuilder 고정 크기인지 여부를 나타내는 값을 가져옵니다. (다음에서 상속됨 DbConnectionStringBuilder) |
| IsReadOnly |
DbConnectionStringBuilder 읽기 전용인지 여부를 나타내는 값을 가져옵니다. (다음에서 상속됨 DbConnectionStringBuilder) |
| Item[String] |
지정된 키와 연결된 값을 가져오거나 설정합니다. C#에서 이 속성은 인덱서입니다. |
| Keys |
에 ICollection 있는 키가 들어 있는 OleDbConnectionStringBuilder키를 가져옵니다. |
| OleDbServices |
연결 문자열 내에서 OLE DB 서비스 키에 전달할 값을 가져오거나 설정합니다. |
| PersistSecurityInfo |
연결이 열려 있거나 열려 있는 경우 암호와 같은 보안에 중요한 정보가 연결의 일부로 반환되는지 여부를 나타내는 부울 값을 가져오거나 설정합니다. |
| Provider |
내부 연결 문자열과 연결된 데이터 공급자의 이름을 포함하는 문자열을 가져오거나 설정합니다. |
| Values |
ICollection값이 포함된 DbConnectionStringBuilder 가져옵니다. (다음에서 상속됨 DbConnectionStringBuilder) |
메서드
명시적 인터페이스 구현
확장명 메서드
| Name | Description |
|---|---|
| AsParallel(IEnumerable) |
쿼리의 병렬 처리를 사용하도록 설정합니다. |
| AsQueryable(IEnumerable) |
IEnumerable IQueryable변환합니다. |
| Cast<TResult>(IEnumerable) |
IEnumerable 요소를 지정된 형식으로 캐스팅합니다. |
| OfType<TResult>(IEnumerable) |
지정된 형식에 따라 IEnumerable 요소를 필터링합니다. |