OleDbConnectionStringBuilder 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
OleDbConnection 클래스에서 사용하는 연결 문자열의 내용을 손쉽게 만들고 관리할 수 있는 방법을 제공합니다.
public ref class OleDbConnectionStringBuilder sealed : 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))>]
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 = _
"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()
' 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에서 강력하게 형식화된 데이터 세트 및 강력한 형식의 연결을 만들 때 강력한 형식의 연결 문자열 작성기 클래스는 해당 형식과 관련된 속성을 표시하고 알려진 키의 공통 값을 맵핑할 수 있는 변환기도 갖습니다.
애플리케이션에서 연결 문자열을 만들어야 하는 개발자는 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"
생성자
OleDbConnectionStringBuilder() |
OleDbConnectionStringBuilder 클래스의 새 인스턴스를 초기화합니다. |
OleDbConnectionStringBuilder(String) |
OleDbConnectionStringBuilder 클래스의 새 인스턴스를 초기화합니다. 제공된 연결 문자열에서는 인스턴스의 내부 연결 정보에 대한 데이터를 제공합니다. |
속성
BrowsableConnectionString |
ConnectionString 속성이 Visual Studio 디자이너에서 표시되는지 여부를 나타내는 값을 가져오거나 설정합니다. (다음에서 상속됨 DbConnectionStringBuilder) |
ConnectionString |
DbConnectionStringBuilder와 연결된 연결 문자열을 가져오거나 설정합니다. (다음에서 상속됨 DbConnectionStringBuilder) |
Count |
ConnectionString 속성 내에 포함된 키의 현재 수를 가져옵니다. (다음에서 상속됨 DbConnectionStringBuilder) |
DataSource |
연결할 데이터 소스의 이름을 가져오거나 설정합니다. |
FileName |
데이터 소스에 연결하기 위한 UDL(Universal Data Link) 파일의 이름을 가져오거나 설정합니다. |
IsFixedSize |
DbConnectionStringBuilder의 크기가 고정되어 있는지 여부를 나타내는 값을 가져옵니다. (다음에서 상속됨 DbConnectionStringBuilder) |
IsReadOnly |
DbConnectionStringBuilder이 읽기 전용인지 여부를 나타내는 값을 가져옵니다. (다음에서 상속됨 DbConnectionStringBuilder) |
Item[String] |
지정된 키에 연결된 값을 가져오거나 설정합니다. C#에서는 이 속성이 인덱서입니다. |
Keys |
ICollection의 키를 포함하는 OleDbConnectionStringBuilder을 가져옵니다. |
OleDbServices |
연결 문자열 내의 OLE DB 서비스 키에 대해 전달할 값을 가져오거나 설정합니다. |
PersistSecurityInfo |
연결이 현재 열려 있거나 열린 상태일 경우 암호와 같은 중요한 보안 정보가 연결의 일부로 반환되는지 여부를 나타내는 부울 값을 가져오거나 설정합니다. |
Provider |
내부 연결 문자열과 관련된 데이터 공급자의 이름을 포함하는 문자열을 가져오거나 설정합니다. |
Values |
ICollection의 값을 포함하는 DbConnectionStringBuilder을 가져옵니다. (다음에서 상속됨 DbConnectionStringBuilder) |
메서드
명시적 인터페이스 구현
확장 메서드
Cast<TResult>(IEnumerable) |
IEnumerable의 요소를 지정된 형식으로 캐스팅합니다. |
OfType<TResult>(IEnumerable) |
지정된 형식에 따라 IEnumerable의 요소를 필터링합니다. |
AsParallel(IEnumerable) |
쿼리를 병렬화할 수 있도록 합니다. |
AsQueryable(IEnumerable) |
IEnumerable을 IQueryable로 변환합니다. |
적용 대상
추가 정보
.NET