事実上開発がストップしてる(ように見受けられる)Jetエンジン。
これに代わるデスクトップ用お手軽データベースエンジンはなんか無いもんか...
とか思ってたわけじゃないが、ある日突然目に付いたのがこれ
Windows デスクトップ向け Microsoft SQL Server Compact 3.5 および Microsoft Synchronization Services for ADO.Net v1.0
http://www.microsoft.com/downloads/details.aspx?FamilyID=7849b34f-67ab-481f-a5a5-4990597b0297&displaylang=ja
Compactっつーぐらいだからずっとモバイル専用かと思ってたけど、普通にデスクトップでも使えるのな。
極小SQL Server Compactでデータベース・アプリをお手軽作成
http://www.atmarkit.co.jp/fdotnet/joyofprogram/20080701devssce/devssce_01.html
ほほうなになに。Jetエンジンの代替として利用できると。
しかしDAOがそのまま使えるわけではあるまい。
(しっかり Access からは使えない と書かれてる...)
- これまでの、いわゆる MDAC からの接続はできない
どうやら DAO や ADO ではだめで、ADO .Net か LINQ を使うしかなさそう。ほんとにダメなのかな?見つけられてないだけかな??まだ疑ってますが望みは薄そう... - ODBC 接続もだめっぽい?(ドライバが無い?)
- 管理ツールが無い!
なので、とあるプログラムからSQL Server Compact のデータベースを使おうと思ったら、そのプログラムの初回起動時とかでデータベースを作る処理を入れとかないといけないです。 当然テーブルも一緒に作らないといかんね。インデックスもか。 つまりは管理機能も自作しないといかんと。 - Access同様、サーバープロセスが動いてるわけではない
なので、複数マシンからのアクセスが同時にあるような状況で使うのは自殺行為。 サーバーに置いて使いたいなら SQL Server 2008 Express にしようね。 - レスポンスは期待できない
「Accessより早い!?」なんて期待はしないように。 計ってはいませんが、クライアント単体で動作するのが前提なので、そこは期待するとこと違うと思うよ。
さらに、ここを見ると「サポートされていません」の字がずらっと並ぶことにビックリ。
...まぁ、冷静によく読んでみると、これまでAccess mdbを使ってた人なら別にできなくても支障は無い機能がほとんどなんだけど。
(トリガとかビューとかが無くても困らないもんね)
利用の用途としては本当にJetと一緒かなぁと。
とあるマシンのバックエンドで人知れず動くデータベースエンジンが必要になるケースってたまにあると思うんだけど、そんな時クライアントに SQL Server Express を入れるわけにいかないよね。
常にSQL Server のサービスが動いてたら邪魔だし、奴らめっちゃメモリ消費するから重くなるし。
SQL Server Compact はサービスが常に待ち受けてるわけじゃなく、Jetと同じように利用されるときだけ動くから、アプリを使ってない時までメモリ使われるようなことにはなりませんな。
興味ある方はぜひ使ってみて、どんなもんか教えてください(^_^;;
SQL Server Compact 3.5 オンライン ブック
http://msdn.microsoft.com/ja-jp/library/bb734673.aspx
クライアント層および中間層のプログラミングでのデータ アクセス
SQL Server Compact 3.5 (Visual Studio) の使用
http://msdn.microsoft.com/ja-jp/library/aa983321.aspx
RSS 購読.gif)
コメントする