今週から新たに「データベースソフト講座」(MS-Access2003利用)に受講希望のお客さまがP-ぽけっと にご来所して頂いています。(^^ゞ
(ちなみに今回もP-ぽけっと のHPがご縁でした。HPは営業ツールとして機能してなんぼだから、もっと手直ししないとなぁ~(^_^;))
そんなわけで?、今回は「データベースソフト講座」では原則説明していない「MS-Accessの共有利用」ついて記載してみます。
Accessの物理ファイルである「mdbファイル」はLAN上の共有フォルダなどに格納しておけば一応共有利用ができるので、企業の部門内でよく用いられているスタイルのようです。
(WordやExcelなどのように)ファイル単位でのロックではなく、レコード単位のロック(レコードロック)なので。
「一応」と記載したのには理由があるのですが、それを説明するにはデータベースソフトの「データベースエンジン」を理解する必要があるので、まずはそちらから。
Accessの場合、データが格納されている物理ファイル(mdbファイル)に「Jetデータベースエンジン」を使ってやりとりしています。
つまりパソコン内で以下のような(みえない)接続をしています。
- Accessのもつインターフェース→
- Jetデータベースエンジン→
- mdbファイル→
- 2.→1.
Excelと対比して説明されることが多いAccessは、良くも悪くも一般利用者にはまったく「データベースエンジン」を感じさせないような作りになっているんですね。
(Jetなど中間で動作するソフトを分類総称として「ミドルウェア」と呼ばれています。)
「Jetデータベースエンジン」はAccessがインストールされていないWindowsパソコンでもシステムフォルダに「msjet40.dll」としてちゃっかり存在しています。
(ちなみに2008年5月度の月例セキュリティパッチ(KB950749)は、この「msjet40.dll」がらみが1件あり。)
興味ある方は、「IT Pro すぐわかるデータベースの基礎」もどうぞ。
では、本題のなぜAccessで使う「Jetデータベースエンジン」はネットワーク利用に向いていないというと、「おそらくどこにも無い?勝手な Access 解説」のサイト内で見事に図説されています。
以上、「Accessはなせネットワーク向きではないか?」を勝手に解説でした。
(オイオイ、ほとんどリンクネタじゃん・・・(^_^;))
--------------------------------------------------------
このエントリーはアクセスが結構多いので追記(2008/7/7)です。
MS-AccessをSQLServerと連携しようと考えているときに有益と思われる書籍が最近発売されました。
書店で立ち読みしたところ中々読み応えがあったので今度購入しよっと。