- - PR -
クライアント用の軽いデータベース
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2007-01-19 16:45
さかもとです。
PCなどでの利用であれば「インストール不要」というわけではありませんが、こんなものもあります。(CEだとアプリからのアクセスがあった場合に自動的にインストール?) http://www.microsoft.com/japan/sql/editions/compact/default.mspx 元々「EveryWhereEdition」という名前がこれに変わったんですね。 SQLiteと違って、ファイル置いたらそれでOKというわけではなさそうですけど、mdbに近い使い方ができそうな気がします。 SQLiteとかFirebirdとか色々調べたんですけど、.netからの接続に関して情報が少ないのでが、こちらはmsdnとかに情報が結構ありますし、VS2005に統合されているし、使いやすいのではないでしょうか?(VS2003では使えないみたいです) | ||||
|
投稿日時: 2007-01-19 17:40
SQLiteは前調べた時は、ADO.NET Data Provider for SQLiteぐらいしか見つからなかったけど、いつのまにやらADO.NET 2.0 Provider for SQLite(名前は似てるが、たぶん別物)なんてのがあるのも発見した。これらはどちらも、.net compact framework環境で使用できそう(未確認だけど)。 firebirdはFirebird .Net Data Provider ぐらいかな。.net compact framework環境で使用できるかどうかは分かりません。 | ||||
|
投稿日時: 2007-01-19 22:51
Microsoft Acccess の Jet データーベースがあります。 SQL 文もそれほど制限はありませんし、軽いです。インストールも MDAC をインストールするだけであり、簡単です。 ただし、なぜか拡張子は .mdb です。 -- unibon {B73D0144-CD2A-11DA-8E06-0050DA15BC86} | ||||
|
投稿日時: 2007-01-21 08:13
たぶんEmbedded版と間違えているのだと思います。とりあえず私の知る限りでは、公式のIn-memory版のFirebirdは存在しません。 .NETからのインプロセスDBとして、FirebirdのEmbedded版はヨーロッパで人気です。 英語になりますが、以下のURLからいろいろと情報を得ることができます。 http://www.dotnetfirebird.org/ | ||||
|
投稿日時: 2007-01-24 18:46
さかもとです。
有識者の皆様のレスを見て色々と勉強させて頂きました。 firebirdとか色々な試みがあるようで、かなり迷います。 私が挙げたSql Server Compact Editionですが、使ったこと無かったので 質問者の「MDBより軽い」だけに着目して少し実験してみました。 レイアウト 文字項目A nchar(7) 文字項目B nvarchar(100) 文字項目C nchar(6) 文字項目D nvarchar(100) 数字項目A int 数字項目B int 件数6万レコード VB2005使用 WinXPsp2 メモリ2GB CPU2.0G(dual) 処理はSQLserver2000のテーブルAをDataReaderで読み込みつつ.sdfファイルにINSERTしていくだけの単純なものです。 結果 CompactEdition=ファイルサイズ8800kb 処理時間31秒 MDB=ファイルサイズ8903kb 処理時間(メモなくしました、34秒くらいだったかと) CompactEditionの方は処理後にCompactメソッドとShrinkメソッドで最適化したところ8736kbとなりました。 MDBは最適化して8903kbです。 所感ですが、速度面、ファイルサイズなどはそれほど大きく違わないように思います。 ただ、MSSQLのエンジンを基本としている信頼性とか、ストアドプロシージャーが利用できるとかスマートデバイスでの利用、VSでの開発時の親和性などを考慮するとCompactEditionに軍配が上がるかと。 厳密に実験したわけではないですので、数値は参考程度でお願いします。 又、記述内容に間違いがあったらごめんなさい。 |