ISSCEEngine.UpgradeDatabase (SQL Server Compact)

ISSCEEngine.Upgrade は、SQL Server Compact 3.5 のデータベースをバージョン 3.1 からバージョン 3.5 にアップグレードするメソッドです。アップグレード前のデータベースが暗号化されていた場合、アップグレード後のデータベースも暗号化されます。アップグレード後のデータベースの接続文字列で明示的にパスワードを指定しない限り、アップグレード後のデータベースの暗号化は解除されます。

構文

object.UpgradeDatabase(SourceConnection, DestConnection)

パラメーター

パラメータ

説明

SourceConnection

アップグレード前のデータベースへの接続を指定する文字列。SourceConnection に指定したデータベースが既に開いている場合は、エラーが発生します。

DestConnection (省略可能)

同じ名前の別のファイルが存在する場合に、アップグレード後のデータベースの接続を指定する文字列。

DestConnection を null にした場合、LCIDPassword などの必要なプロパティは、アップグレード前のファイルから取得されます。

戻り値

戻り値の型は HRESULT です。成功した場合は S_OK が返されます。

プロトタイプ

HRESULT UpgradeDatabase(BSTR SourceConnection, BSTR DestConnection);

新しいファイルを作成せずに、データベース ファイルを SQL Server Compact 3.5 バージョン 3.1 からバージョン 3.5 にアップグレードするには、アップグレード前とアップグレード後の接続文字列に同じデータ ソース プロパティを指定します。

説明

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

プロパティ

説明

Data Source

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

Locale Identifier

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

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

SSCE:Database Password

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

SSCE:Temp File Directory

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

SSCE:Encryption Mode

アップグレード後のデータベースの暗号化モードを指定します。この引数を指定しない場合、Platform Default が使用されます。

SSCE:Case Sensitive

データベースで大文字と小文字を区別するかどうかを指定します。大文字と小文字の区別を有効にする場合は true を設定し、無効にする場合は false を設定します。指定されていない場合、既定値は false です。

注意注意
この接続プロパティは SQL Server Compact 3.5 SP1 で導入されました。

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

有効な暗号化モードの一覧については、「以前のバージョンからのアップグレード (SQL Server Compact)」を参照してください。