SQL Server 2005 Compact Edition の概要


注: SQL Server 2005 Compact Edition では、製品開発段階で SQL Server 2005 すべてのエディションは付きです。プレリリース版のコミュニティ テクノロジ プレビュー (CTP) プログラムやその他のチャネルを通じて、お客様はマイクロソフトに伝達が、この製品名混乱が生じると他のデータベース製品名業界で。マイクロソフトでは、このフィードバックを真剣に受け止めは、公式の製品名をそれに応じて変更されました。

はじめに


Microsoft SQL Server、2005 Compact Edition (SQL Server Compact Edition) は、デスクトップの制限なく、Microsoft SQL Server 2005 Mobile Edition (SQL Server Mobile 3.0) のブランドです。SQL Server Mobile 3.0 は、Microsoft Visual Studio 2005 と SQL Server 2005 を 2005 年にリリースされました。SQL Server Mobile 3.0 は、デバイスではサポートされてし、タブレット pc SQL Server Mobile 3.0 にも部分的にはデスクトップ コンピューターにします。

デスクトップ コンピューターで SQL Server Mobile 3.0 を使用するには、Visual Studio 2005 または SQL Server 2005 をインストールしなければなりません。ただし、SQL Server Compact Edition で、この制限は削除されました。SQL Server Compact Edition を使用することができますアプリケーション開発および配置独立した Visual Studio 2005 および SQL Server 2005 のです。

SQL Server Compact Edition コミュニティ テクノロジ プレビュー (CTP) は、2006 年 6 月 12 日にリリースされました。SQL Server Compact Edition のリリース候補 1 (RC1) は、2006 年 11 月 7 日にリリースされました。CTP のバージョンと SQL Server Compact Edition の RC1 版の両方のバイナリの実行時にのみでした。Web (RTW) のバージョンの SQL Server Compact Edition のすべてのパッケージをリリースは、2007 年 1 月 15 日にリリースされました。SQL Server Compact Edition RTW のバージョンは、3.1 です。以下のパッケージは、SQL Server Compact Edition の RTW バージョンとリリースされました。
  • Microsoft SQL Server 2005 Compact Edition ランタイム
  • Visual Studio 2005 Service Pack 1 (SP1) 用の Microsoft SQL Server 2005 Compact Edition のツール
  • Microsoft SQL Server 2005 Compact Edition 開発ソフトウェア開発キット (SDK)
  • Microsoft SQL Server 2005 Compact Edition Server のツール
  • Microsoft SQL Server 2005 Compact Edition Books Online
すべてのパッケージの SQL Server Compact Edition は、以下の言語でリリースしました。
  • ドイツ語
  • 英語
  • スペイン語
  • フランス語
  • イタリア語
  • 日本語
  • 韓国語
  • 繁体字中国語
  • 簡体字中国語
  • ロシア語
SQL Server Compact Edition は、SQL Server のサービス パックの今後のリリースに含まれてもされます。SQL Server 2005 Service Pack 2 (SP2) は、2007年年度第 1 四半期にリリースされます。マイクロソフトが SQL Server Compact Edition をサービスする方法の大まかな概要を次に示します。
  • SQL Server Compact Edition は、Web 上で利用可能なとことができますをダウンロードしてインストールします。
  • SQL Server Compact Edition は、マイクロソフトの更新プログラムに 2007年年度第 1 四半期に統合されています。
  • SQL Server Compact Edition は、SQL Server 2005 SP2 のインストールの一部としてインストールされます。

詳細


SQL Server Compact Edition ランタイム (SQLServerCE31 EN.msi)

SQL Server Compact Edition には、アプリケーションの開発に使用できるランタイム コンポーネントが含まれていて、強力なまだ軽量のリレーショナル データベース エンジンは、デスクトップ コンピューターおよびタブレット pc SQL Server Compact Edition ではアプリケーションを配置します。SQL Server Compact Edition には、一般的な SQL 構文がサポートされています。さらに、SQL Server Compact Edition では、開発モデルとは、SQL Server と一致する API を提供します。したがって、SQL Server Mobile を使用して、RTW のバージョンよりもの SQL Server Compact Edition を使用してデスクトップ アプリケーションをより簡単に開発できます。SQL Server Compact Edition には、などの新機能が含まれています。DataDirectory |置換文字列のサポート、および ClickOnce 配置が簡単にできるようをサポートします。

SQL Server Compact Edition ランタイムをダウンロードするには、次のマイクロソフト Web サイトを参照してください。SQL Server Compact Edition ランタイム バイナリには、次の Dll が含まれています。
  • Sqlceca30.dll
  • Sqlcecompact30.dll
  • Sqlceer30en.dll
  • Sqlceme30.dll
  • Sqlceoledb30.dll
  • Sqlceqp30.dll
  • Sqlcese30.dll
  • System.Data.SqlServerCe.dll
SQL Server Compact Edition ランタイム (SQLServerCE31 EN.msi) の Microsoft Windows インストーラー パッケージは、Web 上で利用できます。Windows インストーラー パッケージは常に、SQL Server Compact Edition の将来の保守性を処理するために固定された場所にインストールします。SQL Server Compact Edition をインストールすると、プロバイダー (System.Data.SqlServerCe.dll) は、グローバル アセンブリ キャッシュ (GAC) にインストールされます。さらに、OLE DB プロバイダー (Sqlceoledb30.dll) が登録されます。

OLE DB プロバイダーを登録するには、管理者のアクセス許可が必要です。したがって、管理者のアクセス許可がない限り、SQL Server Compact Edition をインストールすることはできません。Windows インストーラー パッケージでは、「%ProgramFiles%\Microsoft SQL Server Compact Edition\v3.1」フォルダーにこれらのバイナリをインストールします。SQL Server Compact Edition をインストールすると、追加または削除プログラムで、 Microsoft SQL Server 2005 Compact Editionのエントリが追加されます。

(SQLServerCE31-[LN].msi) のローカライズ版をインストールするには、英語版 (SQLServerCE31 EN.msi) をインストールする必要があります最初、し、ローカライズされたバージョンをインストールします。
[LN]では、ローカライズされた言語を表します。

Visual Studio 2005 SP1 (SSCE31VSTools ENU.exe) の SQL Server Compact Edition のツール

SQL Server Compact Edition ツール Visual Studio 2005 SP1 では、SQL Server Compact Edition のデザイン時環境を使用して、Microsoft Visual Studio 2005 SP1 のスマート デバイス開発のコンポーネントを更新します。

Visual Studio 2005 SP1 では、SQL Server Compact Edition ツールをダウンロードするには、次のマイクロソフト Web サイトを参照してください。(SSCE31VSTools-[LN].exe) のローカライズ版をインストールするには、英語版 (SSCE31VSTools ENU.exe) をインストールする必要があります最初、し、ローカライズされたバージョンをインストールします。

SQL Server Compact Edition の開発 SDK (SSCE31SDK 出力)

SQL Server Compact Edition の開発 SDK には、アプリケーションのデータベース ストアとして SQL Server Compact Edition を使用してアプリケーションを開発するための次のファイルが含まれています。
  • モバイル デバイスで SQL Server Compact Edition をインストールするための .cab ファイル
  • デスクトップ コンピューターおよびタブレット Pc では、SQL Server Compact Edition をインストールするための .msi ファイル
  • ネイティブの SQL Server Compact Edition アプリケーションを開発するために必要なヘッダー ファイル
  • SQL Server Compact Edition のヘルプ ファイルをインストールする .msi ファイル
SQL Server Compact Edition の開発 SDK をダウンロードするには、次のマイクロソフト Web サイトを参照してください。英語版 SQL Server Compact Edition の開発 SDK にはには、英語版 SQL Server Compact Edition ランタイムのみにはが含まれています。SQL Server Compact Edition の開発 SDK のローカライズされたバージョンには、SQL Server Compact Edition ランタイムの英語版とローカライズされたバージョンの SQL Server Compact Edition のランタイムが含まれています。SQL Server Compact Edition の開発 SDK をインストールした後、SQL Server Compact Edition ランタイムのインストーラー パッケージは、次のフォルダーに格納されます。
%programfiles%\Microsoft SQL Server Compact Edition\v3.1\SDK\bin\Desktop
SQL Server 2005 Compact Edition 開発 SDK のローカライズされたバージョンの SQL Server Compact Edition ランタイムのローカライズされたバージョンをインストールするには、次の手順を実行します。
  1. 次のフォルダーを開きます。
    %programfiles%\Microsoft SQL Server Compact Edition\v3.1\SDK\bin\Desktop
  2. 英語版の SQL Server Compact Edition ランタイム (SQLServerCE31 EN.msi) をインストールします。
  3. SQL Server Compact Edition ランタイム (SQLServerCE31-[LN].msi) のローカライズされたバージョンをインストールします。

SQL Server Compact Edition サーバー ツール (Sqlce30setupen.msi)

SQL Server Compact Edition サーバー ツールをダウンロードするには、次のマイクロソフト Web サイトを参照してください。注: ローカライズされたバージョンをインストールするのには (Sqlce30setup[LN].msi)、最初に英語版 (Sqlce30setupen.msi) をインストールする必要はありません。

SQL Server Compact Edition オンライン (SSCE31BOL EN.msi) の書籍します。

SQL Server Compact Edition Books Online は、SQL Server Compact Edition のマニュアルをインストールします。

SQL Server Compact Edition Books Online をダウンロードするには、次のマイクロソフト Web サイトを参照してください。注: ローカライズされたバージョン (SSCE31BOL-[LN].msi) をインストールする必要はありません (SSCE31BOL EN.msi) 英語版をインストールするのには最初です。

Visual Studio 2005 または SQL Server 2005 とサイド バイ サイド インストール

SQL Server Mobile 3.0 では、Visual Studio 2005 または SQL Server 2005 がコンピューターにインストールする必要があります。ただし、SQL Server Compact Edition には、この要件はありません。したがって、ユーザーが開発し、SQL Server Compact Edition アプリケーションを展開せずに、SQL Server 2005 または Visual Studio 2005 がインストールされています。ただし、この変更と、SQL Server Compact Edition と Visual Studio 2005 または SQL Server 2005 がインストールされているコンピューターでいくつかの動作の変更場合があります。ユーザーには、サイド バイ サイド インストールとは、Visual Studio 2005 または SQL Server 2005 では、次の現象が発生します。

Visual Studio 2005年の動作

SQL Server Compact Edition と Visual Studio の 2005 年
  • 管理ダイアログ ボックスを Visual Studio 2005 では、SQL Server Mobile 3.0 に関連する要素を表示します。
  • Visual Studio 2005年は、SQL Server Compact Edition ランタイムを使用して起動します。この現象は、SQL Server Compact Edition、プロバイダーを GAC にインストールされるために発生します。SQL Server Mobile 3.0 ランタイムは、Visual Studio 2005 のインストール場所に存在します。ただし、GAC の方が、SQL Server Mobile 3.0 の実行時に優先します。したがって、Visual Studio 2005 は、起動時に SQL Server Compact Edition ランタイムを常に使用します。
Visual Studio 2005 SP1 と SQL Server Compact Edition の併用
  • ユーザー インターフェイスは、SQL Server Compact Edition に関連する要素を表示します。
  • Visual Studio 2005 SP1 では、SQL Server Compact Edition ランタイムを使用して起動します。

SQL Server 2005 の動作

SQL Server 2005 または SQL Server Compact Edition と SQL Server 2005 の SP1
  • すべてのユーザー インターフェイスでは、SQL Server Mobile 3.0 に関連する要素を表示します。
  • SQL Server 2005 は、SQL Server Compact Edition ランタイムを使用して起動します。
SQL Server Compact Edition の SQL Server 2005 SP2
  • SQL Server 2005 SP2 のユーザー インターフェイスは、SQL Server Compact Edition に関連する要素を表示します。
  • SQL Server 2005 SP2 は、SQL Server Compact Edition ランタイムを使用して起動します。

新機能

SQL Server Compact Edition には、SQL Server Mobile 3.0 に含まれていないいくつかの機能が含まれています。これらの機能を以下に示します。
  • |DataDirectory |置換文字列のサポート
  • ClickOnce のサポート

|DataDirectory |置換文字列のサポート

|DataDirectory |(パイプ記号で囲まれている) は、データベースのパスを示す代替文字列です。したがって、コードの完全なパスを含める必要はありません。コードに完全なパスを含めると、データベースの完全パスを別の場所にシリアル化できるため問題が発生する可能性があります。。DataDirectory |置換文字列では、プロジェクトを共有して、アプリケーションを配置するには簡単です。

たとえば、コードに完全なパスを含めると、アプリケーションは次の接続文字列を持つことができます。
Data Source= c:\program files\MyApp\Mydb.sdf
を使用する場合。DataDirectory |置換文字列では、アプリケーションは、次の接続文字列を持つことができます。
Data Source = |DataDirectory|\Mydb.sdf
DataDirectoryプロパティを設定するには、 AppDomain.SetDataメソッドを呼び出します。DataDirectoryプロパティを設定しない場合は、データベース フォルダーにアクセスするのには次の既定の規則が適用されます。
  • ユーザーのコンピューター上のフォルダーに格納されたアプリケーションでは、データベースのフォルダーは、アプリケーション フォルダーを使用します。
  • ClickOnce で実行されているアプリケーションでは、データベースのフォルダーは、作成される特定のデータ フォルダーを使用します。
注: .NET Compact Framework は、Microsoft Windows Mobile ベースのデバイスにAppDomain.SetDataメソッドをサポートしていません。アプリケーションは、Windows Mobile ベースのデバイス上のAppDomain.SetDataメソッドを呼び出して場合、は、エラー メッセージが表示されます。

ClickOnce のサポート

ClickOnce は、SQL Server Compact Edition をサポートする新しいソフトウェアのインストール テクノロジです。ClickOnce には、Windows ベースのアプリケーションを Web サーバーまたはネットワーク ファイル共有への展開が容易になります。管理者では、展開したり、サーバー上のファイルを更新することによってアプリケーションを更新することができます。管理者は、すべてのクライアントを個別に更新する必要はありません。

Visual Studio では、発行して、ClickOnce を使用して展開されているアプリケーションの更新を完全にサポートを提供します。ClickOnce のサポートは、Microsoft Visual Basic、Microsoft Visual C#、および Microsoft Visual j# を使用して作成されたプロジェクトで使用できます。ただし、ClickOnce のサポートは、Microsoft Visual C++ を使用して作成されたプロジェクトで使用可能ではありません。

Visual Studio 2005 SP1 用の SQL Server Compact Edition ツールをダウンロードし、Visual Studio 2005 SP1 をインストールすることができます。これは、ClickOnce の統合サポートをインストールし、適切なディレクトリに必要な ClickOnce ファイルをインストールします。
SQL Server Compact Edition で ClickOnce を統合する方法
注: このセクション内のフォルダーおよびファイルの説明は、SQL Server Compact Edition の英語版を使用します。別の言語バージョンの SQL Server Compact Edition をインストールすると、フォルダー名およびファイル名では、ロケール名は異なる場合があります。たとえば、ロケールの名前は"EN"があります代わりに"Zh"可能性があります。

ClickOnce を統合すると、SQL Server Compact Edition で、Visual Studio 2005 SP1 用の SQL Server Compact Edition ツールをダウンロードして Visual Studio 2005 SP1 をインストールします。ClickOnce の統合サポートをインストールします。必要な ClickOnce ファイルは、適切なディレクトリにインストールされます。次の表では、ClickOnce ファイルについて説明します。
ファイル名説明
Product.xml基本パッケージを定義します。
Package.xmlローカライズ版に固有の情報や基本パッケージに追加する機能を定義します。
SqlCE31eula-EN.txtマイクロソフト ソフトウェア ライセンス条項が含まれています
次の表では、ClickOnce ファイルのインストール ディレクトリについて説明します。
ファイル名ファイルがインストールされているフォルダー
Product.xml% プログラム Files%\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages\SQL サーバー コンパクト Edition\
Package.xml% プログラム Files%\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages\SQL サーバー コンパクト Edition\en\
SqlCE31eula-EN.txt% プログラム Files%\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages\SQL サーバー コンパクト Edition\en\
SQLServerCE31-EN.msi% プログラム Files%\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages\SQL サーバー コンパクト Edition\en\
ClickOnce テクノロジを含むように作成するアプリケーションは、前提条件としての SQL Server Compact Edition には、ClickOnce は、ローカル フォルダーにアクセス可能な SQLServerCE31 EN.msi ファイルを使用します。ローカル コピーが使用できない場合は、ClickOnce は、インストール処理中に Microsoft ダウンロード センターから SQLServerCE31 EN.msi ファイルをダウンロードします。

パフォーマンスの向上

SQL Server Compact Edition 3.1 で入力パラメーターのいくつかの既定値は、パフォーマンスを向上するデスクトップ コンピューターに変更されます。ただし、これらの既定値は、パフォーマンス上の理由からモバイル デバイスに残ります。次の表は、以前の既定値、およびモバイル デバイスとデスクトップ コンピューターの両方の新しい既定値を示します。
入力パラメーターモバイル デバイス用の以前の既定値モバイル デバイス用の新しい既定値デスクトップ コンピューター用の以前の既定値デスクトップ コンピューターの新しい既定値
最大バッファー サイズ640 KB640 KB640 KB4096 KB
ロックのタイムアウト2000 ms2000 ms2000 ms5000 ミリ秒
データベースのサイズ128 MB128 MB128 MB256 MB
、既定値の変更の他、多くの変更は、SQL Server Compact Edition エンジンで行われます。これらの変更は、デスクトップ コンピューター上の SQL Server Compact Edition のパフォーマンスを向上します。

注: SQL Server Compact Edition 3.1 で、これらの入力パラメーターに関連するエラー メッセージが表示されたら、エラー メッセージはまだこれらの入力パラメーターの古い値を表示します。この問題は、エラー メッセージが SQL Server Compact Edition 3.1 の新しい値を反映するように更新されないために発生します。この問題は、SQL Server Compact Edition の次のリリースで修正される予定です。

SQL Server Compact Edition 3.1 では、Windows Vista の既知の問題

SQL Server Compact Edition ランタイムは、Windows Vista でサポートされます。データベースの機能が Windows Vista で徹底的にテストします。ただし、上にある機能、既知の問題では、SQL Server Compact Edition 3.1 Windows Vista です。次のセクションでは、機能の問題と回避策について説明します。

下位互換性を維持するためには、SQL Server 2005 Compact Edition のデータベースの暗号化機能は、SQL Server 2005 Mobile Edition のとして暗号化アルゴリズムと同じを使用します。それらのアルゴリズムは、ここでは少し古いし、標準的なマイクロソフト製品のポリシーに適合するセキュリティのレベルを提供しません。暗号化ファイル システムなどをデータをセキュリティで保護する別の方法を使用することをお勧めします。

問題 1

Web 同期の構成ウィザードを使用して、Windows Vista で Microsoft インターネット インフォメーション サービス (IIS) 7.0 を構成するのには、次のエラー メッセージが表示されます。
IIS がインストールされていません
その後、Web 同期の構成ウィザードが失敗します。

注: Web 同期の構成ウィザードは、SQL Server Compact Edition と SQL Server 間の同期を有効にするのには IIS でさまざまなパラメーターを設定します。
問題 1 の回避策
この問題を回避するには、次の手順を実行します。
  1. Web 同期の構成ウィザードを使用する前に、IIS 6.0 管理互換のすべてのコンポーネントをインストールします。

    注: プログラムと機能コントロール パネルでは、これらのコンポーネントをインストールできます。
  2. 、特権が昇格したコマンド プロンプト ウィンドウを開き、コマンド プロンプトで Web 同期の構成ウィザードを実行します。

問題 2

Windows Vista のユーザー アカウント (LUA) モードに最低限の権限の SQL Server Compact Edition Server のツール (Sqlce30setupen.msi) のセットアップを実行すると、次のエラー メッセージが表示されます。
SQL Server のレプリケーション コンポーネントが見つかりませんでした。
この問題は、SQL Server レプリケーション コンポーネントが存在する場合でも発生します。Sqlce30setupen.msi ファイルを実行すると、システム特権を使用するように指示するメッセージが表示されます。ただし、メッセージで[はい]クリックした後も、この問題が発生します。
問題 2 の回避策
、特権が昇格したコマンド プロンプト ウィンドウを開くし、Sqlce30setupen.msi ファイルを実行します。

問題 3

サイレント モードで SQL Server Compact Edition Server のツール (Sqlce30setupen.msi) のセットアップを実行するには Windows Vista で、インストールが失敗します。

この問題は、システム特権を使用しないように、既定のユーザー設定を指定するときに発生します。この問題は、セットアップ プログラムはシステム特権を使用することを要求しないために発生します。代わりに、セットアップ プログラムは、システム特権の既定のユーザー設定を使用します。

問題 3 の回避策
SQL Server Compact Edition Server ツールを実行する前にシステム特権を使用する既定のユーザー設定を指定します。

問題 4

以下の事例で説明します。Visual Studio 2005 を実行しているコンピューターがあります。Windows Vista には、このコンピューター上のオペレーティング システムをアップグレードします。このシナリオでは、Visual Studio 2005 と SQL Server Compact Edition 3.1 の統合が失われます。

SQL Server Compact Edition 3.1 には、SQL Server Compact Edition ツール Visual Studio 2005 SP1 パッケージが含まれています。このパッケージは、Visual Studio 2005 と SQL Server Compact Edition 3.1 を統合するためにコンポーネントをインストールします。このパッケージは、Visual Studio 2005 を使用するいくつかのレジストリ エントリも追加します。オペレーティング システムを Windows Vista にアップグレードした後の統合が失われます。

4 の問題の回避策
この問題を回避するには、次の手順を実行します。
  1. Visual Studio 2005 では、スマート デバイス プログラマビリティのコンポーネントをアンインストールします。
  2. Visual Studio 2005 SP1 を既に SQL Server Compact Edition ツールがインストールされている場合は、Visual Studio 2005 SP1 の SQL Server Compact Edition ツールをアンインストールします。
  3. スマート デバイス プログラマビリティのコンポーネントを Visual Studio 2005 のインストール CD からインストールします。
  4. Visual Studio 2005 SP1 用の SQL Server Compact Edition のツールを再インストールします。

問題 5

以下の事例で説明します。Windows Server 2008 を実行しているコンピューターがあります。このコンピューターに SQL Server 2005 Service Pack 2 をインストールするとします。SQL Server Management Studio の [データベースの接続] ダイアログ ボックスでは、新しい SQL Server Compact Edition データベースを作成します。このシナリオでは、%WINDIR%\SYSTEM32 フォルダーにデータベースを作成することを確認します。
5 の問題の回避策
SQL Server Management Studio で新しい SQL Server Compact Edition データベースを作成するときは、ファイル名とパスを指定します。

SQL Server Compact Edition 3.1 の他の既知の問題

問題 1

以下の事例で説明します。ClickOnce を使用して、ローカライズされた SQL Server Compact Edition 3.1 アプリケーションを発行するとします。その後、別のコンピューターにこのアプリケーションを展開します。このシナリオでは、ローカライズされたバージョンの SQL Server Compact Edition ランタイムがインストールされていません。
問題 1 の回避策
この問題を回避するには、ClickOnce のパッケージのユーザー独自の .xml ファイルを作成します。アプリケーションを配置するときに SQL Server Compact Edition ランタイムのローカライズされたバージョンがインストールされているかどうかを確認するのにはこれを行います。

アプリケーションの前提条件を追加する方法の詳細については、次の Microsoft Developer Network Web サイト (MSDN) を参照してください。

問題 2

以下の事例で説明します。英語版の SQL Server Compact Edition ランタイムをインストールするとします。次に、ローカライズ版の SQL Server Compact Edition ランタイムをインストールするには同じコンピューター上です。このシナリオでは、SQL Server Compact Edition ランタイムをアンインストールする場合、Machine.config ファイルから次のエントリを削除することがわかります。
SQL Server Compact Edition のデータ プロバイダー
注: Machine.config ファイルは、次のフォルダーには。
Microsoft.NET\Framework\v2.0.50727\CONFIG%WinDir
この問題によっては、プロバイダー固有のアプリケーションで問題があります。
問題 2 の回避策
この問題を回避するには、次のいずれかの方法を使用します。
  • アプリケーションに固有の Config.xml ファイルを作成します。
  • ローカライズされた SQL Server Compact Edition ランタイムのバージョンをアンインストールする場合は、まず英語版の SQL Server Compact Edition ランタイムをアンインストールします。
  • Machine.config ファイル内の DbProviderFactories セクションに次の情報を手動で追加するには。
    <add name="SQL Server Compact Edition Data Provider" invariant="System.Data.SqlServerCe" description=".NET Framework Data Provider for Microsoft SQL Server Compact Edition" type="System.Data.SqlServerCe.SqlCeProviderFactory, System.Data.SqlServerCe, Version=9.0.242.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />

問題 3

SQL Server Compact Edition ツールは、Visual Studio 2005 sp1 では同じコンピューター上の別の言語バージョンのサイド バイ サイド インストールできません。

注: Visual Studio 2005 SP1 の異なる言語バージョンのサイド バイ サイドは、同じコンピューターにインストールできます。

問題 4

SQL Server Compact Edition 3.1 でsp_repladdcolumnストアド プロシージャを使用して、1 つの SQL ステートメントで次の操作を実行できません。
  • パブリッシャーに新しい列を追加します。
  • 新しい列に外部キー制約を追加します。外部キーは、既存のテーブルの列を参照します。
たとえば、SQL Server Compact Edition 3.1 で、次の SQL ステートメントを実行できません。
Northwind..sp_repladdcolumn  @source_object='Customers' , @column='ColNew' , @typetext='int constraint FK_Foo_Customer foreign key  references Products ( ProductID )' , @publication_to_add='PubName')
4 の問題の回避策
操作を個別に実行する 2 つの SQL ステートメントを作成します。

たとえば、する操作を実行する次の SQL ステートメントを作成します。
EXEC Northwind..sp_repladdcolumn  @source_object='Customers' , @column='ColNew' , @typetext='int' , @publication_to_add='PubName';
Alter table Customers add constraint FK_Foo_Customer foreign key (ColNew) references Products ( ProductID )
SQL ステートメントを実行した後、スナップショットを再生成し、サブスクリプションを再初期化します。

ソフトウェアの更新

SQL Server Compact Edition 3.1 では、以前のバージョンの SQL Server Compact Edition で発生する多くのバグを解決します。次の一覧では、SQL Server Compact Edition 3.1 解決されたバグのいくつかについて説明します。
  • 以前のバージョンの SQL Server Compact Edition でデスクトップの制限があります。したがって、SQL Server Compact Edition をインストールする前に、Visual Studio 2005 または SQL Server 2005 をインストールする必要があります。

    この問題は、SQL Server Compact Edition 3.1 で解決します。SQL Server Compact Edition 3.1 を使用する場合は、SQL Server コンパクトなエディションの Visual Studio 2005 とは別にまたは SQL Server 2005 を実行できます。
  • SelectステートメントでNULLの列の別名を指定すると、以前のバージョンの SQL Server Compact Edition は出力に列名を指定したすべてのエイリアスを表示しません。代わりに、以前のバージョンの SQL Server Compact Edition は、次の列名を表示します。
    column#<OrdinalNumber>
    たとえば、次のSelectステートメントがあります。
    Select c1 as Col1, NULL as Col2 from Table1
    以前のバージョンの SQL Server Compact Edition でこのステートメントを実行すると、出力に次の列名を参照してください。
    column#0, column#1
  • 以下の事例で説明します。以前のバージョンの SQL Server Compact Edition では、テーブル上の ON DELETE CASCADE 制約を指定します。テーブルには、1 つだけの行があります。次に、テーブル内の行を削除します。行を削除すると、インデックス スキャンが発生します。このシナリオでは、SQL Server Compact Edition は、行を含むデータ ページを解放します。さらに、バッファーの場合、またはデータ ページを保持しているフレームの参照カウントがゼロの場合は、SQL Server Compact Edition には、バッファーまたは空き領域としてフレームのマークが適用されます。
  • 以前のバージョンの SQL Server Compact Edition を実行すると、次のエラー メッセージが表示される場合があります。
    読み取りまたは書き込み保護されているメモリしようとしています。
    この問題は、次の条件に該当する場合に発生します。
    • SQL Server Compact Edition では、バイナリ ツリー (btree) の右側のノードにデータを書き込むしようとしています。
    • バイナリ ツリーがいっぱいです。
    注: SQL Server Compact Edition では、バイナリ ツリーのノードにデータを書き込む、SQL Server Compact Edition は、バイナリ ツリーがいっぱいの場合、ノードを分割します。SQL Server Compact Edition では、ノードを分割するのには次の方法のいずれかを使用します。
    • 通常の分割
    • Asc の分割
    • Desc の分割
  • 以前のバージョンの SQL Server Compact Edition では、バイナリ ラージ オブジェクト (BLOB) 列からデータを取得するのにはスクロール可能なカーソルを使用する場合、SSCE_M_COLUMNORDINALNOTFOUND エラーがあります。

    スクロール可能なカーソル処理するためのバイナリ ラージ オブジェクト データとは異なる順方向専用カーソルは、バイナリ ラージ オブジェクト データを処理するより、この問題が発生します。スクロール可能なカーソルを使用する場合は、序数ベース テーブルからバイナリ ラージ オブジェクト列の序数が異なる場合があります。ただし、スクロール可能なカーソルと順方向専用カーソルは、バイナリ ラージ オブジェクトの列からデータを取得するのには序数ベース テーブルを使用します。