SqlCeConnection.ConnectionString 속성

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

네임스페이스:  System.Data.SqlServerCe
어셈블리:  System.Data.SqlServerCe(System.Data.SqlServerCe.dll)

구문

‘선언
Public Overrides Property ConnectionString As String
    Get
    Set
‘사용 방법
Dim instance As SqlCeConnection
Dim value As String

value = instance.ConnectionString

instance.ConnectionString = value
public override string ConnectionString { get; set; }
public:
virtual property String^ ConnectionString {
    String^ get () override;
    void set (String^ value) override;
}
abstract ConnectionString : string with get, set
override ConnectionString : string with get, set
override function get ConnectionString () : String
override function set ConnectionString (value : String)

속성 값

유형: System.String
초기 연결을 설정하는 데 필요한 데이터 원본 이름과 기타 매개 변수를 포함하는 .NET Compact Framework Data Provider for SQL Server Compact 연결 문자열입니다. 기본값은 빈 문자열입니다.

구현

IDbConnection.ConnectionString

예외

예외 조건
ArgumentException

잘못된 연결 문자열 인수를 제공한 경우

주의

연결이 끊겼을 때만 ConnectionString 속성을 설정할 수 있습니다. 대부분의 연결 문자열 값에는 해당 읽기 전용 속성이 있습니다. 연결 문자열을 설정하는 경우, 오류가 발견된 경우를 제외하면 이런 속성이 모두 업데이트됩니다. 오류가 발견된 경우에는 속성이 하나도 업데이트되지 않습니다. SqlCeConnection 속성은 ConnectionString에 들어 있는 설정만 반환합니다.

닫힌 연결에 ConnectionString을 다시 설정하면, 암호를 포함하여 모든 연결 문자열 값과 관련 속성을 다시 설정합니다.

다음 표에서는 SQL Server Compact에서 지원되는 ConnectionString 속성 목록을 보여 줍니다.

속성

설명

data source 또는 datasource

SQL Server Compact 데이터베이스의 파일 경로 및 이름입니다. 응용 프로그램 디렉터리로부터 데이터베이스의 상대 경로를 나타내려면 파이프 기호로 묶은 Data Source = |DataDirectory| 대체 문자열을 사용합니다. 응용 프로그램의 데이터 디렉터리를 설정하려면 AppDomain 개체의 SetData() 메서드를 사용합니다. 장치에 대해서는 DataDirectory가 지원되지 않습니다. 자세한 내용은 데스크톱에 설치 및 배포(SQL Server Compact)를 참조하십시오.

Password 또는 Pwd 또는 database password 또는 ssce:database password

데이터베이스 암호이며 최대 40자까지 지정할 수 있습니다. 지정하지 않으면 기본적으로 암호를 사용하지 않습니다. 데이터베이스에 암호화를 설정하는 경우 이 속성은 필수입니다. 암호를 지정하면 데이터베이스에서 암호화가 자동으로 활성화됩니다. 비어 있는 암호를 지정하면 데이터베이스가 암호화되지 않습니다.

ssce:enlist

또는

enlist

기본적으로 enlist 값은 false지만 True로 설정할 수 있습니다. Enlist를 true로 설정하여 SQL Server Compact 데이터베이스에 대한 연결이 열린 경우 연결이 트랜잭션으로 승격됩니다.

ssce:encryption mode

또는

encryption mode

이 속성의 값은

engine default

또는

platform default

기본값은 platform default입니다.

참고참고
이 속성은 데이터베이스 생성 시간 옵션이며 기존 데이터베이스에 연결할 때 무시됩니다.

Encrypt 또는 encrypt database 또는 ssce: encrypt database

데이터베이스를 암호화할지 여부를 결정하는 Boolean 값입니다. 암호화를 사용하려면 true로 설정하고 사용하지 않으려면 false로 설정해야 합니다. 지정하지 않으면 false가 기본값입니다. 또한 암호화를 사용하려면 password 속성을 사용하여 암호를 지정해야 합니다. 암호를 지정하면 이 속성의 설정 방법에 관계없이 암호화를 사용할 수 있습니다.

참고참고
이 속성은 데이터베이스 생성 시간 옵션이며 기존 데이터베이스에 연결할 때 무시됩니다. SSCE:Database 암호가 지정되면 SSCE:Encrypt Database가 지정되었는지 여부에 상관없이 데이터베이스가 암호화됩니다.

max buffer size 또는 ssce:max buffer size

디스크에 변경 사항을 플러시하기 전에 SQL Server Compact에서 사용할 수 있는 최대 메모리(KB 단위)입니다. 값을 지정하지 않으면 60이 기본값으로 사용됩니다.

max database size 또는 ssce:max database size

데이터베이스의 최대 크기(MB)입니다. 지정하지 않으면 128이 기본값입니다.

Mode 또는 file mode 또는 ssce:mode

데이터베이스 파일을 열 때 사용할 모드입니다. 유효한 값에 대해서는 다음 표를 참조하십시오. 지정하지 않으면 'Read Write'가 기본값입니다.

default lock timeout 또는 ssce: default lock timeout

트랜잭션의 기본 잠금 대기 시간(밀리초)입니다. 지정하지 않으면 2000이 기본값입니다.

default lock escalation 또는 ssce:default lock escalation

행에서 페이지로 또는 페이지에서 테이블로 에스컬레이션을 시도하기 전 트랜잭션이 가져올 잠금 수입니다. 지정하지 않으면 100이 기본값입니다.

flush interval 또는 ssce:flush interval

커밋된 모든 트랜잭션이 디스크로 플러시되기 전의 지정된 간격(초)입니다. 값을 지정하지 않으면 10이 기본값으로 사용됩니다.

autoshrink threshold 또는 ssce:autoshrink threshold

자동 축소가 시작되기 전 허용되는 데이터베이스 파일의 사용 가능한 공간 비율(%)입니다. 값이 100이면 자동 축소가 사용되지 않습니다. 지정하지 않으면 60이 기본값입니다.

temp path 또는 temp file directory 또는 ssce:temp file directory

임시 데이터베이스의 위치입니다. 위치를 지정하지 않으면 데이터 원본 속성에 임시 저장소로 지정된 데이터베이스가 기본값으로 사용됩니다.

temp file max size

임시 데이터베이스 파일의 최대 크기(MB)입니다. 지정하지 않으면 128이 기본값입니다.

persist security info

false(권장 사항)로 설정할 때 연결이 열린 상태거나 열린 적이 있으면, 암호와 같은 보안 관련 정보는 연결의 일부로 반환되지 않습니다. 연결 문자열을 다시 설정하면 암호를 포함한 모든 연결 문자열 값이 다시 설정됩니다. 기본값은 false입니다.

locale identifier 또는 Lcid 또는 initial lcid

데이터베이스에 사용할 LCID(로캘 ID)입니다. 유효한 LCID 값은 CultureInfo 클래스에서 표시됩니다.

참고참고
이 속성은 데이터베이스 생성 시간 옵션이며 기존 데이터베이스에 연결할 때 무시됩니다.

Case Sensitive 또는 CaseSensitive

데이터베이스 데이터 정렬이 대/소문자를 구분하는지 여부를 결정하는 Boolean 값입니다. 대/소문자를 구분하는 데이터 정렬을 사용하려면 true로 설정하고 대/소문자를 구분하지 않는 데이터 정렬을 사용하려면 false로 설정해야 합니다. 지정하지 않으면 false가 기본값입니다. 연결 문자열에서 "Case Sensitive" 속성을 사용하여 기존 SQL Server Compact 데이터베이스에 연결하면 SQL Server Compact 3.5 SP1에서 이 설정을 무시합니다.

참고참고
이 속성은 데이터베이스 생성 시간 옵션이며 기존 데이터베이스에 연결할 때 무시됩니다.

다음 표에서는 연결 문자열의 유효한 mode 속성 값을 보여 줍니다.

정의

Read Write

여러 프로세스에서 데이터베이스를 열고 수정할 수 있습니다. mode 속성을 지정하지 않으면 이 값이 기본적으로 설정됩니다.

Read Only

데이터베이스의 읽기 전용 복사본을 열 수 있습니다.

Exclusive

다른 프로세스에서 데이터베이스를 열거나 수정할 수 없습니다.

Shared Read

사용자가 데이터베이스를 열어 놓은 동안에는 다른 프로세스에서 해당 데이터베이스를 읽을 수 있으나 수정할 수는 없습니다.

속성을 설정할 때 연결 문자열의 예비 유효성 검사를 수행합니다. 응용 프로그램이 Open 메서드를 호출하면, 연결 문자열의 유효성을 전부 검사합니다. 연결 문자열에 지원되지 않거나 잘못된 속성이 포함되어 있으면 ArgumentException 같은 런타임 예외가 생성됩니다.

연결 문자열에 적용되는 규칙은 다음과 같습니다.

  1. 값 내에 또는 따옴표 내에 있는 공백 문자를 제외한 모든 공백 문자는 무시됩니다.

  2. 키워드 값 쌍은 세미콜론(;)으로 구분해야 합니다. 또한 세미콜론이 값의 일부이면 따옴표로 구분해야 합니다.

  3. 지원되는 이스케이프 시퀀스가 없습니다.

  4. 값 유형이 부적절합니다.

  5. 이름은 대/소문자를 구분하지 않습니다.

  6. 연결 문자열에서 속성 이름이 두 번 이상 발생하면 마지막 항목과 관련된 값이 사용됩니다.

  7. 값은 작은따옴표나 큰따옴표로 구분됩니다(예: name='value' 또는 name="value"). 작은따옴표 또는 큰따옴표는 연결 문자열 내에서 다른 구분 기호로 구분될 수 있습니다. 연결 문자열 안에서 따옴표를 올바르게 사용하는 예는 다음과 같습니다.

    "data source='MyDb.sdf'; mode=Exclusive;"
    'data source="MyDb.sdf"; mode=Exclusive;'
    

    하지만 다음 예는 올바르지 않습니다.

    "data source="MyDb.sdf"; mode=Exclusive;"
    'data source='MyDb.sdf'; mode=Exclusive;'
    

다음 예제에서는 SqlCeConnection을 만들고 연결 문자열의 속성의 일부를 설정합니다.

Dim conn As New SqlCeConnection()

' Set some connection string properties e.g.:
' 
conn.ConnectionString = _
    "Persist Security Info = False; Data Source = 'SalesData.sdf';" & _
    "Password = '<password>'; File Mode = 'shared read'; " & _
    "Max Database Size = 256; Max Buffer Size = 1024"

conn.Open()

' You can change the database while preserving 
' the orignal connection options
'
conn.ChangeDatabase("SupportData.sdf")
SqlCeConnection conn = new SqlCeConnection();

// Set some connection string properties e.g.:
// 
conn.ConnectionString = 
    "Persist Security Info = False; Data Source = 'SalesData.sdf';" +
    "Password = '<password>'; File Mode = 'shared read'; " +
    "Max Database Size = 256; Max Buffer Size = 1024";

conn.Open();

// You can change the database while preserving 
// the orignal connection options
//
conn.ChangeDatabase("SupportData.sdf");

참고 항목

참조

SqlCeConnection 클래스

System.Data.SqlServerCe 네임스페이스

관련 자료

이전 버전에서 업그레이드(SQL Server Compact)