OleDbConnection.ConnectionString 속성

정의

데이터베이스를 여는 데 사용되는 문자열을 가져오거나 설정합니다.

public:
 virtual property System::String ^ ConnectionString { System::String ^ get(); void set(System::String ^ value); };
public:
 property System::String ^ ConnectionString { System::String ^ get(); void set(System::String ^ value); };
[System.ComponentModel.SettingsBindable(true)]
public override string ConnectionString { get; set; }
[System.Data.DataSysDescription("OleDbConnection_ConnectionString")]
public string ConnectionString { get; set; }
public override string ConnectionString { get; set; }
[<System.ComponentModel.SettingsBindable(true)>]
member this.ConnectionString : string with get, set
[<System.Data.DataSysDescription("OleDbConnection_ConnectionString")>]
member this.ConnectionString : string with get, set
member this.ConnectionString : string with get, set
Public Overrides Property ConnectionString As String
Public Property ConnectionString As String

속성 값

데이터 소스 이름과 초기 연결을 설정하는 데 필요한 기타 매개 변수를 포함하는 OLE DB 공급자 연결 문자열입니다. 기본값은 빈 문자열입니다.

구현

특성

예외

유효하지 않은 연결 문자열 인수가 제공되었거나 필요한 연결 문자열 인수가 제공되지 않은 경우

예제

다음 예제에서는 를 만들고 OleDbConnection 연결 문자열 해당 속성 중 일부를 설정합니다.

static void OpenConnection(string connectionString)
{
    using (OleDbConnection connection = new OleDbConnection(connectionString))
    {
        try
        {
            connection.Open();
            Console.WriteLine("ServerVersion: {0} \nDataSource: {1}",
                connection.ServerVersion, connection.DataSource);
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex.Message);
        }
        // The connection is automatically closed when the
        // code exits the using block.
    }
}
Public Sub OpenConnection(ByVal connectionString As String)

    Using connection As New OleDbConnection(connectionString)
        Try
            connection.Open()
            Console.WriteLine("Server Version: {0} DataSource: {1}", _
                connection.ServerVersion, connection.DataSource)
        Catch ex As Exception
            Console.WriteLine(ex.Message)
        End Try
        ' The connection is automatically closed when the
        ' code exits the Using block.
    End Using
End Sub

설명

ConnectionString 다음 예외를 제외하고 OLE DB 연결 문자열 형식과 최대한 일치하도록 설계되었습니다.

  • "Provider = value " 절이 필요합니다. 그러나 OLE DB용 .NET Framework 데이터 공급자가 ODBC용 OLE DB 공급자(MSDASQL)를 지원하지 않으므로 "Provider = MSDASQL"을 사용할 수 없습니다. ODBC 데이터 원본에 액세스하려면 네임스페이스에 있는 개체를 System.Data.Odbc 사용합니다OdbcConnection.

  • ODBC 또는 ADO와 달리 반환되는 연결 문자열 사용자 집합과 동일하며, 가 로 설정된 ConnectionStringfalse 경우 Persist Security Info 보안 정보를 뺀 값(기본값)입니다. .NET Framework OLE DB용 데이터 공급자는 키워드(keyword)(권장하지 않음)로 설정 Persist Security Info 하지 않는 한 연결 문자열 true 암호를 유지하거나 반환하지 않습니다. 높은 수준의 보안을 유지하려면 로 설정된 false키워드(keyword) Persist Security Info 사용하는 Integrated Security 것이 좋습니다.

속성을 사용하여 ConnectionString 다양한 데이터 원본에 연결할 수 있습니다. 다음 예제에서는 몇 가지 가능한 연결 문자열을 보여 줍니다.

"Provider=MSDAORA; Data Source=ORACLE8i7;Persist Security Info=False;Integrated Security=Yes"

"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:\bin\LocalAccess40.mdb"

"Provider=SQLOLEDB;Data Source=(local);Integrated Security=SSPI"

Data Source 연결 문자열 키워드(keyword) 지정되지 않은 경우 공급자는 로컬 서버에 연결하려고 시도합니다(사용 가능한 경우).

연결 문자열에 대한 자세한 내용은 SQL Server Native Client 연결 문자열 키워드 사용을 참조하세요.

연결이 ConnectionString 닫힌 경우에만 속성을 설정할 수 있습니다. 대부분의 연결 문자열 값에는 해당 읽기 전용 속성이 있습니다. 연결 문자열 설정되면 오류가 검색되는 경우를 제외하고 이러한 속성이 업데이트됩니다. 이 경우 어떤 속성도 업데이트되지 않습니다. OleDbConnection 속성은 에 포함된 ConnectionString설정만 반환합니다.

닫힌 연결에서 를 ConnectionString 다시 설정하면 모든 연결 문자열 값 및 관련 속성이 다시 설정됩니다. 여기에는 암호가 포함됩니다. 예를 들어 "Initial Catalog= AdventureWorks"가 포함된 연결 문자열 설정한 다음 연결 문자열 "Provider= SQLOLEDB; 데이터 원본= MySQLServer; IntegratedSecurity=SSPI", Database 속성은 더 이상 AdventureWorks로 설정되지 않습니다. (연결 문자열 초기 카탈로그 값은 속성에 Database 해당합니다.)

속성이 설정되면 연결 문자열 대한 예비 유효성 검사가 수행됩니다. , , Connect TimeoutPersist Security Info또는 OLE DB ServicesProvider대한 값이 문자열에 포함되면 이러한 값이 선택됩니다. 애플리케이션 호출 하는 경우는 Open 메서드, 연결 문자열을 완벽 하 게 유효성을 검사 합니다. 연결 문자열 유효하지 않거나 지원되지 않는 속성이 포함된 경우 와 같은 ArgumentException런타임 예외가 생성됩니다.

주의

UDL(유니버설 데이터 링크) 파일에서 에 대한 OleDbConnection 연결 정보를 제공할 수 있습니다. 그러나 이렇게 하지 않아야 합니다. UDL 파일은 암호화되지 않으며 연결 문자열 정보를 명확한 텍스트로 노출합니다. UDL 파일은 애플리케이션에 대해 외부 파일 기반 리소스이므로 .NET Framework를 사용하여 보호할 수 없습니다.

연결 문자열 기본 형식에는 세미콜론으로 구분된 일련의 키워드(keyword)/값 쌍이 포함됩니다. 각 키워드와 해당 값은 등호(=)로 연결됩니다. 세미콜론, 작은따옴표 문자 또는 큰따옴표 문자를 포함하는 값을 포함하려면 값을 큰따옴표로 묶어야 합니다. 값에 세미콜론과 큰따옴표 문자가 모두 포함된 경우 값은 작은따옴표로 묶을 수 있습니다. 작은따옴표는 값이 큰따옴표 문자로 시작하는 경우에도 유용합니다. 반대로 값이 작은따옴표로 시작하는 경우 큰따옴표를 사용할 수 있습니다. 값에 작은따옴표와 큰따옴표 문자가 모두 포함된 경우 값을 묶는 데 사용되는 따옴표 문자는 값 내에서 발생할 때마다 두 배로 증가해야 합니다.

문자열 값에 앞 또는 후행 공백을 포함하려면 값을 작은따옴표 또는 큰따옴표로 묶어야 합니다. 따옴표로 묶어도 정수, 부울 또는 열거형 값 주위의 선행 또는 후행 공백은 무시됩니다. 그러나 문자열 리터럴 키워드(keyword) 또는 값 내의 공백은 유지됩니다. 작은따옴표 문자가 값의 첫 번째 또는 마지막 문자가 아닌 경우 구분 기호(예: Data Source= my'Server 또는 Data Source= my"Server)를 사용하지 않고 연결 문자열 작은따옴표나 큰따옴표를 사용할 수 있습니다.

키워드(keyword) 또는 값에 등호(=)를 포함하려면 다른 등호 앞에 와야 합니다. 예를 들어 가상 연결 문자열

"key==word=value"

키워드(keyword) "key=word"이고 값은 "value"입니다.

키워드(keyword)=값 쌍의 특정 키워드(keyword) 연결 문자열 여러 번 발생하는 경우 값 집합에 마지막으로 나열된 항목이 사용됩니다.

키워드는 대/소문자를 구분하지 않습니다.

주의

예를 들어 대화 상자에서 사용자 ID 및 암호 정보를 검색하고 연결 문자열 추가할 때 사용자 입력을 기반으로 연결 문자열 생성할 때는 주의해야 합니다. 애플리케이션 암호를 입력에 사용자 추가 연결 문자열 매개 변수에서 예를 들어, 이러한 값을 포함할 수 없습니다는 않도록 해야 합니다. "에서는 데이터베이스 somedb =" 다른 데이터베이스에 연결 하려고 합니다. OLE DB 연결에 확장 속성 연결 문자열 매개 변수를 사용하는 경우 사용자 ID 및 암호를 일반 텍스트로 저장하지 않아야 하며 의 기본 설정 Persist Security Info= false 이 매개 변수에 영향을 Extended Properties 주지 않으므로 사용자 ID 및 암호를 전달하지 마세요.

적용 대상

추가 정보