2009-03-26 14 views
16

私たちの.netアプリケーションの1つに組み込みデータベースが必要です。.netの埋め込みデータベース

このデータベースはsql(Berkleyとは異なります)をサポートする必要があります。

誰でもオプションを提案できます。

答えて

21

と思う主要なオプションは次のとおりです。

+7

の所有者が.NETのもう最高のSQLiteドライバを忘れないでください午前: 埋め込まれたエンティティフレームワークとFirebirdの程度http://sqlite.phxsoftware.com/ –

+1

記事だけをhttp://www.firebirdnews.org/?p=2665 –

4

SQL Server Compact Editionをご覧ください。これはインプロセスで実行され、単一バイナリであり、そのデータを単一のファイルに格納し、(SQLiteを含む他の多くの組み込みDBとは異なり)同時実行性をサポートします。 Visual Studioを使用している場合はおそらく既にそれを持っているでしょう。最後に、自由に使用して再配布できます。

+0

ツールとの良好な統合。ライセンス要件は何ですか?コスト? – Cheeso

+1

悲しいことに、実際には単一のバイナリではありません。これにはいくつかのネイティブDLLがあり、これはx86 vs x64の問題も作成します。 –

+1

あなたは右のMauricioです。マネージコードの場合、2つのバイナリ(sqlceme35.dllとSystem.Data.SqlServerCe.dll)しかないようです。ネイティブコード、同期サービスなどには他のビンがあります。 –

5

SQL Server Compact Editionは、.NETのコンパクトなフレームワークにとって賢明な選択肢です。私はArcane CodeがSSCEを学ぶ非常に役立つサイトであることを発見しました。彼はSQL ServerのMVPであり、CEに焦点を当てています。

+1

CEでテーブルとインデックスのみを作成できます –

2

私は実際にFirebirdSQL自分自身(CMSによっても言及されています)が好きです。それはWindows dllの埋め込みを実行することができます、iircはこれのために組み込まれているコアドライバとの混合バイナリです。これはActiveRecordとNHibernateでうまく動作します。ほとんどの.Netタイプは簡単にマップされます。

他のオプションと比較して、RDBMSモードに切り替えることは、組み込みバージョンではなくサーバーを使用するようにクエリ文字列を変更することのみです。将来的にMonoをターゲットにしたい場合は、Linuxで(これは組み込みモードではありません)実行することもできます。

12

VistaDBの詳細については、後半にお話したいと思います。

私たちのSQL構文は、SQL Server構文と非常に近く、TSQLとCLR Stored Procsが含まれています。

アプリケーションで処理中で、32ビットと64ビットの両方(100%マネージコード)に1つのアセンブリのみをデプロイする必要があります。展開する必要がある別のアンマネージアセンブリがあるため、SQL CEでこれを行うことはできません。

あなたのアプリにVistaDBを埋め込み、それをILMERGEにしたり、データベース名を変更したりして、エンジンを完全に隠すようにすることもできます(これは本当に大きな人もいます)。

はい、100%管理コードなのでMonoでも実行できます。まだいくつかの問題があります(非Intel Monoマシンを含む)。

全開示 - 私は会社

関連する問題