- ベストアンサー
Accessでは力不足?
現在、仕事で個人データを取り扱っています。 Accessで作成したデータベースをWindows2000Serner (ファイルサーバー)におき複数(10名以上)のクライアント (Win98・WinMe・Win2000)で使用しています。 使用する際、各クライアントは直接サーバーのAccessファイルを開いています。 データのファイルサイズは3メガバイト強で、メインのレコード数が1300程度、 それからリレーションを組んだテーブルが複数個あります。 データは随時各クライアントが更新しています。 この状態でAccessを使用していると、動作が非常に遅かったりする 場合があります。また、開けない場合もあります。全く使用できないほど 動作が遅いわけではありませんが、ちょっと不便です。 こういった環境ではAccessを使用することは適していないのでしょうか? また、もっと賢いAccessの使いかたがあるのでしょうか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
そうですね、、、インテグレーターの立場とすれば外部委託してくださいといいたいところですが(そちらのほうが儲かりますし^^;)、 しかし、 個人的な意見としては現状のACCESSでの運用で動作が遅いなどパフォーマンスだけの問題で悩んでいらっしゃるだけなら、社内の人間で片付けるのがよいと思います。ゼロからの構築でしたら無理難題でしょうけれども、現状のACCESSのシステムをMSDEに移植して運用するだけでしたら社内の人間のだれかが400ページほどの本で勉強するだけでことたりてしまいます。仮に外注したとするとン十万のお金を請求されます(ゼロからだとン百万からン千万)。そして導入してもらったとしても、わからないことがあってサポートを受けるたびにサポート料をとられてしまいランニングコストもばかになりません。 それでしたら、最初は多少苦労するかもしれませんが社内で片付けたほうが会社自体のレベルアップにもつながりますし、運用後になにかトラブルがおこったときもなにかと都合がいいと思われます。仮に外注するにしても、社内の人間のだれかがある程度のスキルを身に付けておかないと訳もわからずなんだかんだと請求されてコストばかりかかってしまいますよ。 せっかくマイクロソフトがACCESS(JET)からMSDEのデータ移行を簡単にしてくれているのですから、一度挑戦されてみては? 個人的な意見なので自信なしとしときました^^;
その他の回答 (2)
- hidebu-
- ベストアンサー率53% (45/84)
かなりデンジャラスな運用をされてますね^^; データ件数はともかく、マルチユーザーで直接MDBをキックするというのはかなりマズイです。 てっとり早くMSDEに移行するのがいいでしょう。 MSDE自体はACCESSのCDにバンドルされてますので無料で明日からでも運用ができます。 ただ、MDBを直接起動していたときとちがって、システム管理者に多少のスキルが求められます。 MSDEは腐ってもSQLサーバーのサブセットですから、現在のファイルサーバーをデータベースサーバーとして運用し、インターフェースにACCESSを使うということになります。 権限やらなにやらでサーバー側の設定、クライアント側の設定でMDBのときよりは導入に手間がかかってしまいます。 しかし、一度導入してしまえばMDBを扱ってたころとさほどかわらずに運用ができます(管理者以外は^^;)。 しかもSQLサーバーのサブセットですから、仮にクライアントが100台になったとしてもMSDEからすぐにアップグレードできます。 経験上、10クライアントくらいならMSDEでも問題ないです(コストの関係もありますしね)。クライアントが100台超になるとさすがにSQLSERVERやORACLE等にしないとキツイですが^^;(クラスタリングなどでやりようによってはMSDEでもいけますが。。。あとLINUXとフリーDBコンビでも。) 関連URLをリンクしておきますが、一度、おおきな書店に足を運んで関連書籍を購入することをおすすめします。 なんとなくで情報資産をとりあつかってると、必ずヒドイ目にあいますから^^;
補足
解答ありがとうございます。 正直、ちょっと恥ずかしいですね・・・。 社内にサーバーなどに精通しておるものがおらず、 私がAccessを覚えて突貫工事のような状況でやっていました。 以前まではロータスのアプローチを使用してたようです。 会社がどれだけ投資できるのかにもよりますが、 外部に委託しちゃったほうがいいんでしょうか。
- mfuku
- ベストアンサー率50% (173/345)
ハッキリ申しますと、こういった環境ではAccessを使用することは適してません。 基本的にはACCESSは個人用のデータベースフロントエンドツールです。 あくまでもファイルサーバーに置いているだけであって、実際にはクライアントで動作しているため、ファイルサイズは3メガバイト強で、メインのレコード数が1300程度であるとするとかなり動作は遅くなるのが当然であると思います。 まず、とりあえずはデータベースの最適化を行ってみてください。 「ツール」-「データベースユーティリティ」-「最適化/修復」で行えます。 少しだけ軽くなるかもしれません。 しかし、そもそも10クライアント以上がある以上、データベースがいつ壊れてもおかしくありません。 基本的には個人用に設計されているためいつかは必ず壊れます(断言)。 また、全く使用出来なくなるほど遅くなる日も近いでしょう。 もし、ACCESS2000でしたら、MSDEが使えます。 MSDEでしたら、簡単に既存システムをアップグレード出来ますし、クライアント/サーバーに対応してますのである程度の複数ユーザの同時更新が考慮されてます。 ただし、5ユーザー以内がサポート範囲ですので、10ユーザー以上となるとまだまだ無理があると思われます。 そう考えますと、リレーショナルデータベースであるSQL-Server等にアップグレードする方が一番無理がないと思われます。 いずれにせよ、残念ながらACCESSのMDBファイルをサーバーに置く運用は既に限界であると認識してください。
お礼
早速の解答ありがとうございます。 やはりそうでしょうね。 今後、データもクライアントも増加する可能性があるので、 早めに手を打っておかねば、と思います。 会社ではちょっとサーバーをアップグレードしたりする ことがあまり認知されていない(というか誰も興味が無い)ようなので、 これからは危険性を訴えつつ、MSDEというものに対して関心を 持ってみようと思います。今まではAccessのみを使用し、とくに SQLなどは意識していなかったのですが、現在の環境から MSDEとは移行できるものなのでしょうか?
お礼
そうですね・・・。 今後何かの為になるでしょうし、勉強はしてみようかと思います。 会社からテキスト代とある程度の時間をいただけるのでしたら・・・。 どうもありがとうございました。