Windows Phone의 로컬 데이터베이스 연결 문자열
2013-03-11
적용 대상: Windows Phone 8 | Windows Phone OS 7.1
Windows Phone 앱에서는 LINQ to SQL을 사용하여 로컬 데이터베이스에 관계형 데이터를 저장할 수 있습니다. 이 항목에서는 앱에서 로컬 데이터베이스와 함께 사용할 수 있는 지원되는 연결 문자열 매개 변수에 대해 설명합니다. 로컬 데이터베이스를 사용하는 방법에 대한 자세한 내용은 Windows Phone의 로컬 데이터베이스를 참조하세요.
이 항목에는 다음 단원이 포함되어 있습니다.
다음 표에는 로컬 데이터베이스 연결 문자열에 대해 지원되는 모든 매개 변수가 나와 있습니다.
매개 변수 | 설명 |
|---|---|
data source 또는 datasource | 로컬 데이터베이스 파일의 파일 경로와 이름입니다. 지정된 유일한 연결 문자열 속성인 경우 속성 값만 있으면 데이터 컨텍스트 개체를 인스턴스화할 수 있습니다. 데이터 컨텍스트에 대한 자세한 내용은 Windows Phone의 로컬 데이터베이스를 참조하세요. 경로의 루트 위치를 명시적으로 지정하려면 다음 접두사를 사용합니다.
접두사를 지정하지 않으면 파일 경로가 로컬 폴더에 적용됩니다. |
Password 또는 Pwd 또는 database password 또는 ssce:database password | 최대 길이가 40자인 데이터베이스 비밀번호입니다. 지정되지 않은 경우 기본값은 비밀번호 없음입니다. 이 속성은 데이터베이스에서 암호화를 사용하도록 설정하는 경우에 필요합니다. 비밀번호를 지정하면 데이터베이스에서 암호화가 자동으로 사용됩니다. 빈 비밀번호를 지정하면 데이터베이스가 암호화되지 않습니다. 참고:데이터베이스가 만들어진 후에는 데이터베이스를 암호화할 수 없습니다. 데이터베이스는 AES-128을 사용하여 암호화되고 비밀번호는 SHA-256을 사용하여 해시됩니다. 전체 데이터베이스가 아닌 일부 데이터를 암호화하려면 Windows Phone 앱에서 데이터를 암호화하는 방법를 참조하세요. |
max buffer size 또는 ssce:max buffer size | 로컬 데이터베이스가 변경 사항을 디스크에 플러시하기 전에 사용할 수 있는 최대 메모리 크기(KB)입니다. 지정되지 않은 경우 기본값은 384입니다. 최대값은 5120입니다. |
max database size 또는 ssce:max database size | 로컬 데이터베이스의 최대 크기(MB)입니다. 지정되지 않은 경우 기본값은 32입니다. 최대값은 512입니다. |
Mode 또는 file mode 또는 ssce:mode | 데이터베이스 파일을 열 때 사용할 모드입니다 유효한 값은 다음과 같습니다.
중요:Windows Phone 8 부터는 Read Only 매개 변수 값이 설치 폴더에서만 지원됩니다. |
Culture Identifier | 데이터베이스와 함께 사용할 문화권 코드입니다. 예를 들어 미국 영어의 경우 en-US를 사용합니다. Windows Phone OS 7.1 에서 지원되는 문화권 코드의 전체 목록을 보려면 Windows Phone에 대한 문화권 및 언어 지원을 참조하세요. 참고:기존 데이터베이스에 연결할 때 이 속성을 사용하면 속성이 무시됩니다. |
Case Sensitive 또는 CaseSensitive | 데이터베이스 데이터 정렬에서 대/소문자를 구분할지 여부를 결정하는 부울 값입니다. 대/소문자를 구분하는 데이터 정렬을 사용하려면 true로 설정하고, 대/소문자를 구분하지 않는 데이터 정렬을 사용하려면 false로 설정해야 합니다. 지정하지 않으면 기본값은 false입니다. 참고:기존 데이터베이스에 연결할 때 이 속성을 사용하면 속성이 무시됩니다. |
중요: |
|---|
이 Windows Phone 앱 플랫폼 릴리스에서는 일부 Microsoft SQL Compact 연결 문자열 매개 변수가 작동할 수도 있습니다. 이 항목에 나열되지 않은 연결 문자열 매개 변수는 사용하지 않는 것이 좋습니다. |
다음 예제에서는 로컬 데이터베이스와 함께 연결 문자열을 사용하는 방법을 보여 줍니다.
단일 매개 변수 사용
데이터 소스 속성만 사용 중인 경우 다음 예제에 표시된 대로 연결 문자열에 속성 이름을 포함할 필요가 없습니다.
// Create the data context. MyDataContext db = new MyDataContext ("isostore:/mydb.sdf")
이 예제에서 isostore 접두사는 파일이 로컬 폴더에 있음을 나타냅니다.
설치 폴더에서 읽기
설치 폴더는 쓰기 작업을 지원하지 않습니다. 설치 폴더의 로컬 데이터베이스에 연결하는 경우 File Mode 속성을 사용하여 연결을 읽기 전용으로 지정해야 합니다. 다음 예제에서는 설치 폴더에 대해 읽기 전용 연결을 만드는 방법을 보여 줍니다.
// Create the data context. MyDataContext db = new MyDataContext("Data Source = 'appdata:/mydb.sdf'; File Mode = read only;");
중요: |
|---|
설치 폴더에서 참조 데이터베이스 파일에 단독으로 액세스하려는 경우 이 파일을 암호화하지 않는 것이 좋습니다. 이 파일을 암호화할 경우 처음 연결 시 시스템에 인덱스 재작성 등과 같은 일상적인 데이터베이스 유지 관리 작업을 수행하지 못하게 됩니다. 암호화된 참조 데이터베이스를 사용하려면 데이터베이스를 처음 사용하기 전에 로컬 폴더에 이 데이터베이스를 복사한 후 읽기/쓰기 연결로 이 데이터베이스에 연결합니다. 참조 데이터베이스를 복사하는 방법에 대한 자세한 내용은 Windows Phone 앱과 함께 참조 데이터베이스를 배포하는 방법를 참조하세요. |
암호화된 데이터베이스 만들기
암호화된 데이터베이스를 만들려는 경우 데이터베이스가 만들어지기 전에 연결 문자열과 함께 비밀번호를 지정해야 합니다. 이 예제에서는 데이터베이스가 만들어지기 전에 비밀번호를 지정합니다.
// Create the data context. MyDataContext db = new MyDataContext("Data Source='isostore:/mydb.sdf';Password='securepassword';"); // Create an encrypted database after confirming that it does not exist. if (!db.DatabaseExists()) db.CreateDatabase();
전체 데이터베이스가 아닌 일부 데이터를 암호화하려면 Windows Phone 앱에서 데이터를 암호화하는 방법를 참조하세요.
특정 문화권을 사용하여 데이터베이스 만들기
이 예제에서는 독일어 문화권과 대/소문자 구분 데이터 정렬을 사용하는 데이터베이스가 만들어집니다.
// Create the data context. MyDataContext db = new MyDataContext("Data Source = 'mydb.sdf'; Culture Identifier = de-de; Case Sensitive = true;"); // Create a database after confirming that it does not exist. if (!db.DatabaseExists()) db.CreateDatabase();
참고:
중요: