OLE DB 데이터 원본 개체(SQL Server Compact)

OLE DB 프로그래밍에서 데이터 원본 개체는 공급자의 기본 데이터 저장소를 나타냅니다. 소비자가 OLE DB 공급자에 연결하려면 먼저 데이터 원본 개체의 인스턴스를 만들고 초기화해야 합니다.

SQL Server Compact 데이터 원본 개체

Microsoft SQL Server Compact 3.5(SQL Server Compact 3.5)에서는 OLE CoCreateInstance 함수를 호출한 다음 SQL Server Compact 3.5용 OLE DB 공급자의 CLSID(클래스 식별자)인 CLSID_SQLSERVERCE를 전달하면 데이터 원본 개체가 생성됩니다. SQL Server Compact 3.5는 in-process 서버이므로 SQL Server Compact 3.5 OLE DB 개체의 인스턴스는 실행 컨텍스트를 나타내기 위해 CLSCTX_INPROC_SERVER 매크로를 사용하여 생성됩니다.

SQL Server Compact 3.5에서는 원하는 데이터 원본을 지정하기 위해 DBPROP_INIT_DATASOURCE 속성만 사용합니다. 이 속성에는 열고자 하는 데이터베이스 파일의 전체 경로를 지정합니다. 이 속성을 설정한 후 소비자는 데이터 원본 개체를 초기화합니다. 이렇게 하면 소비자와 SQL Server Compact 3.5 간 데이터 교환에 필요한 환경이 만들어집니다. 데이터 원본 개체가 초기화되면 소비자는 데이터 저장소에 대한 자체 설명 정보를 확인할 수 있지만 아직 데이터에 액세스할 수 없습니다. 이 데이터 원본 개체는 하나 이상의 세션 개체를 생성하는 데 사용할 수 있습니다. 이들 세션 개체는 차례로 필요한 트랜잭션, 명령 및 행 집합을 만드는 데 사용됩니다.

SQL Server Compact 3.5용 OLE DB 공급자를 사용하여 새 데이터베이스를 만들 수도 있습니다. 자세한 내용은 OLE DB를 사용한 데이터베이스 만들기을 참조하십시오.

암호로 보호된 데이터베이스도 지원됩니다. 이 보안 기능을 사용하는 경우 데이터 원본 개체를 초기화할 때 암호를 입력해야 합니다. 자세한 내용은 OLE DB를 통한 암호로 보호된 데이터베이스 액세스를 참조하십시오.

데이터 원본 개체의 제한 사항

SQL Server Compact 3.5용 OLE DB 공급자의 데이터 원본 개체에 대한 제한 사항은 다음과 같습니다.

  • OLE DB에 정의된 카탈로그의 개념은 SQL Server Compact 3.5에서 사용되지 않습니다. DBPROP_INIT_DATASOURCE 속성은 사용할 데이터베이스를 정의하며 SQL Server Compact 3.5용 OLE DB 공급자는 이 데이터베이스를 현재 카탈로그로 처리합니다.
  • 현재 데이터 저장소의 변경 기능은 지원되지 않습니다. 데이터 저장소를 변경하려는 클라이언트는 데이터 원본 개체의 초기화를 취소하고 새 데이터 저장소 이름을 설정한 다음 데이터 원본 개체를 다시 초기화해야 합니다.

공급자별 데이터 원본 속성

SQL Server Compact 3.5에서는 공급자별 속성 집합 DBPROPSET_SSCE_DBINIT에서 다음과 같은 공급자별 속성을 지원합니다.

속성 정의

DBPROP_SSCE_AUTO_SHRINK_THRESHOLD

자동 축소를 시작하기 전에 데이터베이스 파일에서 사용 가능한 여유 공간(백분율)입니다. 값이 100이면 자동 축소가 사용되지 않습니다. 값을 지정하지 않으면 60이 기본값으로 사용됩니다.

DBPROP_SSCE_DBCASESENSITIVE

데이터베이스 데이터 정렬이 대/소문자를 구분하는지 여부를 결정하는 Boolean 값입니다. 대/소문자를 구분하는 데이터 정렬을 사용하려면 true로 설정하고 대/소문자를 구분하지 않는 데이터 정렬을 사용하려면 false로 설정해야 합니다. 값을 지정하지 않으면 false가 기본값으로 사용됩니다.

ms173256.note(ko-kr,SQL.100).gif참고:
이 속성은 SQL Server Compact 3.5 SP1 릴리스부터 도입되었습니다. 자세한 내용은 데이터 정렬 작업(SQL Server Compact)을 참조하십시오.

DBPROP_SSCE_DBPASSWORD

데이터베이스 암호이며 최대 40자까지 지정할 수 있습니다. 지정하지 않으면 기본적으로 암호를 사용하지 않습니다. 데이터베이스에 암호화를 설정하는 경우 이 속성은 필수입니다. 암호를 지정하면 데이터베이스에서 암호화 기능을 사용할 수 있습니다. 자세한 내용은 OLE DB를 통한 암호로 보호된 데이터베이스 액세스를 참조하십시오.

DBPROP_SSCE_DEFAULT_LOCK_ESCALATION

행에서 테이블로 또는 페이지에서 테이블로 확대하기 전에 트랜잭션이 얻는 잠금의 수입니다. 값을 지정하지 않으면 100이 기본값으로 사용됩니다.

DBPROP_SSCE_DEFAULT_LOCK_TIMEOUT

트랜잭션의 기본 잠금 대기 시간(밀리초)입니다. 값을 지정하지 않으면 기본값이 데스크톱에 대해서는 5000밀리초이고 장치에 대해서는 2000밀리초입니다.

DBPROP_SSCE_ENCRYPTDATABASE

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

DBPROP_SSCE_ENCRYPTIONMODE

데이터베이스 파일의 보안을 설정하는 데 사용되는 암호화 유형입니다. 암호화 모드에 대한 자세한 내용은 공급자별 속성(OLE DB)의 설명을 참조하십시오.

DBPROP_SSCE_FLUSH_INTERVAL

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

DBPROP_SSCE_MAXBUFFERSIZE

데이터베이스의 최대 크기(MB)입니다. 값을 지정하지 않으면 640이 기본값으로 사용됩니다.

DBPROP_SSCE_MAX_DATABASE_SIZE

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

DBPROP_SSCE_TEMPFILE_DIRECTORY

임시 데이터베이스의 위치입니다. 위치를 지정하지 않으면 데이터 원본 속성에 임시 저장소로 지정된 데이터베이스가 기본값으로 사용됩니다. 자세한 내용은 OLE DB를 사용하여 임시 데이터베이스 위치 지정임시 데이터베이스를 참조하십시오.

DBPROP_SSCE_TEMPFILE_MAX_SIZE

임시 데이터베이스의 최대 크기(MB)입니다.