動作するためにクライアントコンピューターにインストールする必要がなく、.NETアプリケーションから簡単にアクセスできる軽量のSQLデータベースをお勧めしますか?基本的なSQL機能のみが必要です。
現在、単純なプロジェクトでAccessデータベースを使用しており、.MDBファイルと.EXEファイルを一緒に配布しています。代替案を探しています。
軽量とはどういう意味かによります。ラムで簡単ですか?またはより軽いdbファイル?またはdbに接続するためのより軽いコネクタ?または全体的にファイルが少ないですか?私が知っていることの比較をします:
no of files cumulative size of files db size
Firebird 2.5 5 6.82 MB 250 KB
SqlServerCe 4 7 2.08 MB 64 KB
Sqlite 3.7.11.0 1 0.83 MB 15 KB
VistaDb 4.3.3.34 1 1.04 MB 48 KB
no of files - includes the .net connector and excludes the db file
データベースは、2列2行の1つのテーブルです。 dbはさらに使用すると異なる成長をする可能性があるため、少し塩を入れてdbサイズを取得します。たとえば、SqlServerCe
は当初64KBでしたが、数百のレコードを追加した後はまったく増加しませんでしたが、VistaDb
は48から72、140KBに簡単に増加しました。 SQLiteはその点で最高であり、最低から始まり、直線的に成長しました。
いくつかの逸話:出荷時設定でSqlServerCeを使用するとパフォーマンスが向上しました。つまり、構成なしでキックを開始するのが最も簡単ですが、オンライン資料がないため、Firebirdを開始するのが少し難しいことがわかりました。私が読むことができたFirebirdは、最も広い標準SQLコンプライアンスを持っていました。 VistaDbはフルマネージドC#で記述されているため、アプリケーションのアセンブリとマージして1つのファイルにすることができますが、私には最も遅いように思えました。とりわけ、パフォーマンス、使いやすさ、サイズを考慮して、SQLiteを選択しました。 SqlServerCeは私の2番目の選択肢です。
要するに、それぞれに長所と短所があります。繰り返しになりますが、私の個人的な経験である、ほんの少しの塩で私の暴言を取ります。
.NETで書いている場合は、VistaDBを見ることができます。これは100%マネージコードであり、真の参照整合性、tsqlストアドプロシージャ、clrプロシージャなど、xcopyでデプロイできる単一のアセンブリに含まれています。
VistaDBは、中程度の信頼度で共有ホスティングasp.netサイトで実行され、Active Directoryドメインでもゲスト(ローカルアクセス許可なし)として実行されます。
エンジンをデプロイするマシンにはレジストリやその他の構成設定は必要なく、ランタイムはロイヤリティフリーです。
32/64ビットのサポートは単一のアセンブリに含まれています。アンマネージコードを使用する混合モードエンジンでは、通常、32ビットと64ビットをサポートするため、または特定のCPUターゲット用に再コンパイルするために、アンマネージコードの複数のバージョンを出荷する必要があります。
詳細については、 VistaDBの利点 SOスレッド)を参照してください。
SQL Server 3.5/2008 Compact Editionはどうですか? SQLServerのきちんとした組み込みバージョン。
http://www.Microsoft.com/Sqlserver/2008/en/us/compact.aspx
.NETで非常にうまく機能します。もちろん、通常のSQLServerツールとスクリプトはすべて正常に機能します。
データをJSONファイルとして保存できます。スタンドアロンにする必要がある場合は、 [〜#〜] iodb [〜#〜] や LiteDB などのdllソリューションがあります。
SQLite あなたが求めているものになります