web-dev-qa-db-ja.com

C#最小限のSQLデータベース

CSVなどの処理が効率的でなく、SQL/MySQLサーバーが多すぎるために十分なデータを格納する必要がある小さなプロジェクト(本番環境ではない)に取り組んでいます。 .Netは、単一のファイルをロードして処理するのではなく、サーバーを管理して接続する必要なしにクエリを実行する機能を使用して、データの複数のエントリを効率的に格納する方法を持っていますか?.

12
David

いくつかの選択肢があり、特定の順序はありません。

  1. (有料?)Visual Studioのすべてのバージョンには SQL Server Expressがインストールされています が付属しています。あなたはそれを使うことができます。
  2. (うーん) XMLファイル
  3. SQL Server CE (基本的に、ファイル経由のローカルSQL)
  4. SQLite

その他のアイデア: https://stackoverflow.com/questions/3639846/what-is-a-good-embedded-database-to-use-with-c

15
Sklivvz

Sklivvzが提供するオプション に加えて、SQLレルムの外部に挑戦し、 Sterling または-などの埋め込みオブジェクト指向データベースエンジンを使用することを恐れないでください。 DB4O

これらは、アプリケーションに埋め込むことができ、ファイルベースのサイズが小さいという利点がありますが、プログラミングも非常に高速で簡単です。

4
Eric King

SQLite が最適なオプションです。
彼らのサイトに書かれているとおり:

SQLiteは、自己完結型、サーバーレス、ゼロ構成のトランザクションSQLデータベースエンジンを実装するソフトウェアライブラリです。

本当にあなたが探しているもののようです!

Chocolateyパッケージ もあるので、自分でダウンロードしてインストールするのが面倒な場合は!

3
MaxSC

ADO.NETはXMLにシリアル化でき、RDBMSのほぼすべての機能を備えています。 (まあ、とにかく安いものです。)

私はそれが「古い」ことを知っており、今は軽蔑していますが、ADO.NETは、あなたが説明しているとおりに機能します。コミットされていない変更を追跡するかなりまともな仕事もします。

「古い」かもしれませんが、それは確かに「バスト」ではありません。ただし、メモリフットプリントはかなり重いので、それを求めてください。 4000レコードは問題になりません。

3
Wesley Long