visual Studio-> Add New Itemから新しいSQL Server Compactファイルを作成しようとしたときに、実際にはSQL Server Compactデータベースを追加する方法である「ローカルデータベース」オプションが表示されません。さて、もしそれが本当にマイクロソフトから打ち切られた場合、デスクトップアプリケーション向けにマイクロソフトが推奨する埋め込みデータベーステクノロジーは何ですか? SQLiteを試してみましたが、SQLiteの展開は頭痛の種です。ユーザーが自分のマシンに正しいバージョンのVisual C++配布可能ファイルをインストールしていない可能性があるためです。
はい、SQL Server Compactは非推奨になりました( このConnect項目に関するコメント を参照)。 SQL Server ExpressまたはSQL LocalDBを使用する必要があります。いくつかの投稿:
http://blogs.msdn.com/b/sqlexpress/archive/2011/07/12/introducing-localdb-a-better-sql-express.aspx
http://erikej.blogspot.com/2011/01/comparison-of-sql-server-compact-4-and.html
http://erikej.blogspot.com/2012/07/the-state-and-near-future-of-sql-server.html
はい、VS 2013にはありませんが、SQL Server Compact Toolboxアドインを使用することで、VS 2013でSQLCEを使用するために必要なほぼすべてを実行できます。何が欠けていますか?
他の人が指摘したように、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を実行して、すべてが機能することを確認しました。ゼロインストールが必要です。
何らかの理由で、SQLエクスプローラーでのサーバーエクスプローラーの使用はVS 2013で削除されました。再有効化に関するUserVoiceの問題があります。
SQLiteは、ネイティブC/C++を使用している場合、アプリケーションに直接コンパイルできる単一のCファイル(統合)としても利用できます。その後、アプリがファイルを開くことができるあらゆる状況で機能します。追加のDLLもインストールも必要ありません。
このサイトに問題を抱えて着陸している他の初心者のために、SQL Serverデータベースファイル(LocalDBで作成されます)を作成し、プロジェクトプロパティ、[公開]タブ、および前提条件ボタンで、 LocalDBのダウンロードとインストールを公開されたパッケージに追加する機会-そしてそれは機能します。
残念ながら、Visual Studio 2013にはSQL Compactの組み込みサポートはありません。
ただし、アドインをインストールできます SQL Server Compact/SQLite Toolbox
VS 2013のSQL Compactにもこのツールを使用していますが、非常に簡単で明確です。