CompactDatabase メソッド (SQL Server Compact Edition)

CompactDatabase メソッドは、SQL Server 2005 Compact Edition (SQL Server Compact Edition) のローカル データベース内の無駄な領域を最適化し、再利用します。このメソッドを使用して、データベースの照合順序、暗号化、パスワードの各設定を変更することもできます。

構文

object.CompactDatabase(SourceConnection, DestConnection)

パラメータ

パラメータ 説明

SourceConnection

最適化する元のデータベースへの接続を指定する文字列値。SourceConnection に指定したデータベースが既に開いている場合は、エラーが発生します。

DestConnection

最適化によって作成されるデータベースへの接続を指定する文字列値。DestConnection に指定したデータベースが既に存在する場合、または同じ名前のファイルが既に存在する場合は、エラーが発生します。

プロトタイプ

HRESULT CompactDatabase(BSTR SourceConnection, BSTR DestConnection);

解説

SourceConnection パラメータおよび DestConnection パラメータには、最適化前と後で使用するデータベースのプロパティを指定します。次の表は、各パラメータに指定できる接続プロパティの一覧です。その他のプロパティはすべて無視されます。

プロパティ 説明

Provider

データ ソースへの接続に使用するプロバイダの名前を示します。このプロパティが指定されていない場合は、OLE DB Provider for SQL Server Compact Edition がプロバイダと見なされます。最適化前の文字列と最適化後の文字列でプロバイダの名前が異なる場合は、エラーが発生します。

Data Source

データベースの名前を示します。このプロパティは、最適化前の接続情報および最適化後の接続情報の両方で必要です。

Locale Identifier

新しいデータベースのロケール ID (LCID) を示します。省略すると、最適化後のデータベースの LCID は、システムのロケールと同じになります。

Locale Identifier には、データベース内の文字列比較の照合順序を指定します。

SSCE:Database Password

データベースがパスワードで保護されている場合は、パスワードを示します。最適化前のデータベースにパスワードが含まれる場合は、そのパスワードを指定する必要があります。DestConnection 文字列でこのパラメータを省略すると、新しいデータベースのデータベース パスワードは、最適化前のデータベースと同じになります。最適化後のデータベースからパスワードを削除する場合は、データベース パスワードを空の文字列に設定する必要があります。データベース パスワードの長さは最大 40 文字です。

SSCE:Encrypt Database

新しいデータベースを暗号化するかどうかを示します。DestConnection 文字列でこのパラメータを省略すると、新しいデータベースは、最適化前のデータベースと同じ暗号化設定になります。これは Boolean 型の値です。暗号化を行う場合は TRUE を、暗号化が不要な場合は FALSE を設定します。

メモ :
SSCE:Database Password を指定すると、SSCE:Encrypt Database が指定されているかどうかに関係なく、データベースは常に暗号化されます。

SSCE:Temp File Directory

一時データベースの場所を指定します。DestConnection 文字列でこのパラメータを省略すると、現在のデータベースの場所が一時的なデータベースの場所として使用されます。

ロケール ID 値がサポートされています。Locale Identifier の値には一意な LCID を使用します。一意な LCID 値の一覧については、「COLLATE (SQL Server Compact Edition)」を参照してください。データベースの作成先のデバイスでロケールがサポートされていることを確認する必要があります。

データベースの作成時に LCID 値を指定していない場合、SQL Server Compact Edition ではシステム ロケールを使用します。これは、以前のバージョンとは異なります。以前のバージョンでは、指定がない場合は常に英語ロケールを使用していました。

参照

関連項目

ErrorRecords プロパティ (SQL Server Compact Edition)

その他の技術情報

SQL Server Compact Edition Engine オブジェクトのプログラミング

ヘルプおよび情報

SQL Server Compact Edition のサポートについて