kuniku’s diary

はてなダイアリーから移行(旧 d.hatena.ne.jp/kuniku/)、表示がおかしな箇所はコメントをお願いします。記載されている内容は日付およびバージョンに注意してください。直近1年以上前は古い情報の可能性が高くなります。

Jetエンジン(.mdbファイル)の代換えは?

スタンドアロンのデスクトップアプリケーションとして、内部でデータベースを使用する場合はAccessであるmdbファイルが使われるの一般的であったが、.NET時代からは別なのか。
一般的:語弊があるかも,MSDEもあるけど、手軽に使えるのはmdbではないかと思う。
mdbファイルには、いくつかの問題がある。例えば、マイクロソフトからの技術情報として
http://support.microsoft.com/kb/935370/ja
以下、引用

Windows Vista を実行しているコンピュータで Microsoft Office Access データベースを開いたとき、または使用しているときに、次のいずれかまたは複数の問題が発生する場合があります。
Access が応答を停止しているように見える。
Access の応答が非常に遅い。
Access が突然終了またはクラッシュする。

この問題は、次の条件に該当する場合に発生することがあります。
・使用しているデータベースが、Windows Vista ベースのコンピュータ上に存在する共有データベースである。
・2 台以上の Windows Vista ベースのコンピュータでデータベースを同時に使用しようとしている。

アプリをVB6からVB2005に変えてもmdbを利用している限り発生する問題。

極小SQL Server Compactでデータベース・アプリをお手軽作成を見て、これからはmdbじゃなくてSQL Server Compactの時代か?とも思った。

上記でのMicrosoft Knowledgeの問題が解消できるのかは不明であるが、SQL Server Compact 3.5にちょっと興味がわいた。

極小SQL Server Compactでデータベース・アプリをお手軽作成の2ページ目を見る限り

最大の特徴としては、データベース・エンジンのサイズが非常に小さい組み込みデータベースであるという点です。また無償で利用することができます。

 データベース・エンジンのサイズは、インストール対象のデバイスによりますが、約2.2〜2.6MBytesです。そのためインストールも非常に簡単です。マイクロソフトが提供する無償のデータベースとしてはSQL Server 2005 Express Editionがありますが、それをインストールするために必要なディスク容量が(本体だけで)200MBytes以上であることを考えると、比較にならないほど小さいことが分かります。

 さらに、本稿最後のコラムで触れていますが、SQL Server Compact 3.5のクライアントへのインストール作業は、単に9つのファイルをXCopyで配置するだけです。

SQL Server Compactでは、かなりの機能がサポートされていないことが分かります。特にストアドプロシージャとトリガがサポートされていない

データベースのデータ領域として利用できるサイズは最大4GBまでです。そして、LINQ To SQLに対応しています(しかし、ストアドプロシージャなど、対応していない機能は利用できません)。

また、Microsoft AccessSQL Server Compactのデータベースを利用できないので、注意が必要です。Visual StudioSQL Server Management StudioおよびSQL Server Management Studio Express Editionからのみ利用可能です

最大4GBってのは、無償のMSDEもそれくらいのサイズまでだったような・・・。もしかしたら2GBかも。
試してみてから、実際に仕事で使わないと いろいろ見えてこないんだよな。