MS Accessの限界~
手軽で便利なツールだが、それゆえに限界もある、ということで……
おそらく多くの人がこやつには喜ばせてもらっているのと同じくらい悩まされているかと思う(^^;
私はけっこう好きなんだけども、これのせいで一時期胃に穴があきそうになりまいた。
トランザクション処理、データボリューム等々。。
自分自身のメモのため、今回泣かされた内容をメモる。
-トランザクション処理の限界は10,000レコード
おかげで大量データをバッチ処理で削除するルーチンが作動していなくて結果として古いデータが残り続けてパフォーマンスが低下~。こりゃたまらん。
結局トランザクション処理をあきらめることに(怖)
-最適なデータは50MB以下
かのMSDNに明記されておる(^^;
実際、MDBの容量が50MBを越えると、特別なパフォーマンス対策をしていない場合パフォーマンスは急激に劣化。処理時間が幾何級数的にかかるようになってsまった。
サブクエリを使用していたのをやめて、ハードコードでWhere句を絞り込んで対応~
-よくデータベースが壊れる
とにかく複数ユーザアクセスを許すと原因もなくやたらに壊れる。
これは知っていたので毎日システム終了時に毎回最適化/修復を行うようにしていたが・・・
-ロックが変
Access2000からレコードロックが可能なわけだが、こいつがとにかく信用ならない(^^;
ほかにもまだいろいろあるです。
トラックバック募集(苦笑)
| 固定リンク

コメント
Access の種々の問題については、話には聞いたことがありますが、幸い体験したことがありません。(^_^ゞ 今の会社で初めてやった仕事が、Access でのシステムのそれらの問題を解消するための Oracle への移行だったのですが、稼働初日にはお客様に、「もう最適化やら修復やらをしなくていいなんてっ!」「データ一括更新処理をやっている間に、他のことをしていてもいいなんてっ!」などと、いたく感動されました。(^_^; Access のときには、更新処理中は誰もシステムにアクセスしていてはいけなかったようで。
投稿: Mika | 2004.05.27 22:12
いやもう、実際問題はいっぱいです(^^;
ただ安価で導入も容易なんで、あまり規模の大きくないお客様にはAccessでのシステム導入を提案させていただくケースも多いようです。
で、小さく生んで、すぐに別DBMSを使った上位パッケージへバージョンアップ、と(^^;
最近の環境を考えると小規模システムに対してはAccessではなくMSDEをお薦めしますけどね(^^;
投稿: かっしい | 2004.05.27 22:59
わたしが入社して以降は、どんなに小規模な案件でも、Access での提案は一切してないはずだったと思います。それだけ大変だったんでしょう。(^_^; わたしが入る前は Access もやってたみたいで、そのシステムの修正などでひーひー言っている人を端から見てました。(^_^;;;
最近だと、小規模なとこは、Linux に Oracle 入れて、PowerBuilder で開発、というパターンでしょうか。さらに小規模だと、Oracle の代わりに Firebird とか。
投稿: Mika | 2004.05.28 00:27
2つトラックバックさせてもらいました
95-98年くらいの、Windows系中小企業用システム提案の最安値バージョンだと
Accessでの提案は結構ありました
「桐」の置き換えとか
その時代を引きずっているお客さんやSIer(?)は、安易にAccessを持ってきたがるんですよね
Access関連の仕事は、ちょこちょこと8年近くやっているので、数え切れないトラブルに遭遇しました
(もう慣れましたけど)
その経験上、AccessはAccessというシステムでDBとは全然別次元のモノだと思うと、いくぶん精神衛生上楽なようです
かっしいさんのおっしゃるようにAccessを提案するならMSDEの方が良いですね、実質MSSQLServerですし
投稿: ぽ | 2004.05.28 10:37
ぽさん、トラックバックだけでなくコメントもありがとうございます。
95-98年ごろだと2.0、95あたりなので、私が遭遇している2000系の障害以上に多くの問題があったでしょうねぇ。
実際Mikaさんの会社でもその辺りのバージョンに懲りられたのじゃないかしら?
「AccessはAccessという別のシステム」という表現は言い得て妙ですね。オフィススイートとして考えるとかなり高機能で面白いソフトなんですが、複数ユーザーで使う基幹システムとなると小規模でも提案しちゃいかんですねぇ。
投稿: かっしい | 2004.05.28 10:47
「基幹システムなんて言葉が出てくる分野のアレじゃないっすよ!」
と世界の中心で叫びたいですけど
上流の方々はそう思ってくれないようなんですよね
「それならフロントエンドは全部PowerPointで提案しろよ!」
とか意地悪言いたくなったりします
業務系でAccessが便利なのは、ラインプリンタなどの不定形用紙での印刷だけだと思ってます
宅急便の送り状の出力とかですね
他は別DBでも運用可能ですし
画面が作れるというのも自由度はVBよりも低いです
Focusがあたってないコントロールの値は取得できなかったりします(これだけでもPGは血圧上昇したり)
なんてのは言ったところで偉い人にはわからないんですよね
投稿: ぽ | 2004.05.28 10:59
COBOLで組まれたシステムをAccess2000でリニュアルしろと頼まれ散々苦労しました。
Null混入、型違いでこけたときのトラブルシュートは並じゃないですね。 たびたび違うエラー番号が出て来て泣かされました。 型チェックをGUIのオブジェクト上で全部やる羽目になってます。
投稿: picolin | 2004.11.11 16:00
最近知った辛い事実。
同じ課の別PJがPB+Accessなどという提案をして、受注成功しちゃってるよorz
なんでMSDE使わないの???
Accessをろくに使ったことのない担当だったんで、安易に考えたんだろうなあ。苦労するぞ、ヲイ。
つーか情報共有に問題がありますね、ハイ反省。
投稿: かっしい | 2006.09.13 20:12
復旧の容易さとポータビリティを理由にJet(=MDB)を採用するよう希望され、そのように実装しましたが、正直MSDE2000にさせてほしいと思ったことが何度もありました。
そろそろAccessはOfficeから外して廃盤にしてほしいです。orz
投稿: ykaku | 2007.03.06 11:10
データベース初心者でお尋ねしますが、「トランザクション処理の限界は10,000レコード」とか「2GB」が限界とかありますが、PCハードも進みCPUも64ビットでメモリーも8GBあって、64ビット版のAccessでも同じ限界なのでしょうか?
投稿: みなみ | 2011.01.31 15:12