web-dev-qa-db-ja.com

SQL Server CompactはVisual Studio 2013から廃止されますか?

visual Studio-> Add New Itemから新しいSQL Server Compactファイルを作成しようとしたときに、実際にはSQL Server Compactデータベースを追加する方法である「ローカルデータベース」オプションが表示されません。さて、もしそれが本当にマイクロソフトから打ち切られた場合、デスクトップアプリケーション向けにマイクロソフトが推奨する埋め込みデータベーステクノロジーは何ですか? SQLiteを試してみましたが、SQLiteの展開は頭痛の種です。ユーザーが自分のマシンに正しいバージョンのVisual C++配布可能ファイルをインストールしていない可能性があるためです。

54
Emran Hussain
42
Aaron Bertrand

はい、VS 2013にはありませんが、SQL Server Compact Toolboxアドインを使用することで、VS 2013でSQLCEを使用するために必要なほぼすべてを実行できます。何が欠けていますか?

19
ErikEJ

他の人が指摘したように、SQL Server Compactは廃止されました。ただし、代わりに必要ないSQLiteを使用して、クライアントマシンにインストールする必要はありません。

SQLiteはVisual C++ランタイムに依存しますが、クライアントマシンにインストールする必要はありません。 system.data.sqlite ダウンロードページには、既にランタイムが含まれているいくつかの「静的」パッケージが含まれています。

すべての「静的」パッケージには、Visual C++ランタイムの適切なバージョンに静的にリンクされたネイティブモードまたは混合モードのアセンブリバイナリが含まれています。通常、これらのパッケージは、顧客のマシンに必要なバージョンのVisual C++ランタイムがインストールされておらず、権限が制限されているためインストールできない場合に使用されます。

たとえば、私のマシンではWindows 8.1 x64を実行しているので、64ビットWindows(.NET Framework 4.0)のプリコンパイル済み静的リンクバイナリの下でsqlite-netFx40-static-binary-x64-2010-1.0.90.0をダウンロードしました。郵便番号.

このバイナリパッケージには、x64バージョンのSystem.Data.SQLite 1.0.90.0(3.8.2)パッケージのすべてのバイナリが含まれています。 x64用のVisual C++ 2010 SP1ランタイムは静的にリンクされています。 .NET Framework 4.0が必要です。

次に、パッケージを解凍し、test.exeを実行して、すべてが機能することを確認しました。ゼロインストールが必要です。

12
bouvierr

何らかの理由で、SQLエクスプローラーでのサーバーエクスプローラーの使用はVS 2013で削除されました。再有効化に関するUserVoiceの問題があります。

http://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/4714470-support-sql-server-compact-in-visual-studio-2013?utm_campaign=shorturls&utm_source=visualstudio.uservoice。 com

8
Scott Wylie

SQLiteは、ネイティブC/C++を使用している場合、アプリケーションに直接コンパイルできる単一のCファイル(統合)としても利用できます。その後、アプリがファイルを開くことができるあらゆる状況で機能します。追加のDLLもインストールも必要ありません。

3
Thinkeye

このサイトに問題を抱えて着陸している他の初心者のために、SQL Serverデータベースファイル(LocalDBで作成されます)を作成し、プロジェクトプロパティ、[公開]タブ、および前提条件ボタンで、 LocalDBのダウンロードとインストールを公開されたパッケージに追加する機会-そしてそれは機能します。

1

残念ながら、Visual Studio 2013にはSQL Compactの組み込みサポートはありません。

ただし、アドインをインストールできます SQL Server Compact/SQLite Toolbox

VS 2013のSQL Compactにもこのツールを使用していますが、非常に簡単で明確です。

0
Andrew