ACCESS2003での150人同時利用

このQ&Aのポイント
  • 我が職場では、ACCESS2003を利用してシステムを組みデータ登録・参照等を行っています。利用人数は、150人くらいになります。
  • 上司には、このまま使い続ければファイルが壊れる可能性が高い事を進言しましたが、とりあえす゜現在動いているので受け入れてくれません。結局私た゜けか゜悪者になっている状態。
  • 入力は一日4000件程度です。壊れることがないことを祈って過ごすしかないんでしょうか。何か打開策があれば教えていただきたいです。
回答を見る
  • ベストアンサー

ACCESS2003での150人同時利用

我が職場では、ACCESS2003を利用してシステムを組みデータ登録・参照等を行っています。 利用人数は、150人くらいになります。現在のところ不思議と動いています。若干のレスポンスの悪さはありますが。上司には、このまま使い続ければファイルが壊れる可能性が高い事を進言しましたが、とりあえす゜現在動いているので受け入れてくれません。現在は。ある程度利用人数を絞ってはいますが。これだけIT化が進んでいる状況にもかかわらず、今のシステムた゜けでは、心配なので代替のシステムを作ろうとすれば、ほめられるどころか叱責を受けます。結局私た゜けか゜悪者になっている状態。このままこのシステムを使い続けることに不安ですが、どうにもできません。ACCESSの同時利用等の限界を超えていると思うのですがいかがなものでしょうか。入力は一日4000件程度です。壊れることがないことを祈って過ごすしかないんでしょうか。利用する人間もPC素人がほとんどです。何か打開策があれば教えていただきたいです。よろしくお願いします。一応、バックエンドとフロントエンド分割しています。現在のところデータ数は、40万件程度です。

質問者が選んだベストアンサー

  • ベストアンサー
  • tamu1129
  • ベストアンサー率58% (1253/2141)
回答No.1

言ってもわからないヤツには何言ってもダメです Accessは複数人で使う場合、排他制御になるので同じデータを同時に操作しようとしたりした場合に壊れますね 逆に新規でデータを追加してゆくだけのような操作をしている場合には、結構動いてくれます ですが、mdbファイルはクラ・サバ環境で使っていると簡単に壊れてくれるのも事実です 今出来る事は、mdbファイルを日々バックアップしておき最悪前日のデータ状態までは戻せるようにするという事ですね こういった事に無頓着な上司は、画面や操作方法が変わる事嫌がるんですよ 3261htさんがちょっと頑張れば、もうちょっと堅牢なシステムにしてかつ上司には文句言われない方法もあります データベースの部分を SQL serverの物に変更してしまう方法です 操作する方はmdbファイルでは無く、adpファイルを使って操作します Accessにはこういったクライアント・サーバー環境で使用する事も想定してMSDEエンジンのプログラムもCDに入っています このMSDEデータベースに接続させて使用する場合にはAccessはaspファイルにて行いますが、フォームやレポートなどmdbファイルと見かけはまったく変わりません つまり使い手にとっては、mdbファイルだろうとaspファイルだろうと操作はまったく変わりません データベースエンジンが変わるので、クエリでは無くストアドプロシージャを作成したりとかフロントエンド部分は作り変えなければいけませんが、堅牢度で言ったら桁違いですよ http://www.atmarkit.co.jp/fwin2k/win2ktips/404accessmsde/accessmsde.html 自分もいくつかの会社に頼まれて作成しましたが、Access+MSDEでデータベース壊れた事一度もありません 逆にAccessのみでバックエンド+フロントエンドで行っていた場合、使用している時だけでなく業務終了時に最適化する時壊れたりもしましたよ

3261ht
質問者

お礼

回答ありがとうございます。MSDEは一度考えたんですが、どうるいうわけかわが社のPC環境では利用できないような感じなんです。ただ、このプロジェクトは国家レベルに影響を及ぼす可能せいか゛あるんで、多くの人に迷惑をかけたくないんですよね。私自身の出世なんかどうでもいいてす。とにかく、もう一度検討してみたいと思います。ありがとうございました。150人とかまた他の部署をいれればそれ以上の人間がいるんですが、全くPCについてエンドユーザーばかりで 理解してもらえる人がいて気が少し楽になりました。ありがとうございます。

その他の回答 (3)

  • yorozu_ya
  • ベストアンサー率54% (76/140)
回答No.4

そんな上司には、事故が起こるまでは何を言っても無駄です。 今やるべきことは、実際に事故が起きたときのあなたの作業量を最小にするための事前準備です。 そして、めでたく事故が起きたときに提出する提案書の草稿を作っておきましょう。

3261ht
質問者

お礼

早速の回答ありがとうございます。システム運用開始時いくつかの提案はしましたが、結局は頭のおかしな奴が訳のわからないことを言ってるという対応でした。 150人近く他の部署も入れれば相当の人間がいるのですが、危険性について誰も理解していない今時本当に珍しい職場なんです。でも、運用を始めて約3月なぜか普通に動いています。結局私自身の立場がどんどん悪くなるばかりです。 最終的には100万件程度のデータ量になる予定ですが。とりあえず、肩身は狭いですが、最悪の事態の備えての準備を進めてはいます。わかっていただける人がいて本当にうれしかったです。

  • nda23
  • ベストアンサー率54% (777/1415)
回答No.3

どんなDBシステムを使っても壊れる時は壊れます。 Accessは簡便なので脆弱なように言われますが、 経験的に言うと「滅多に壊れない」です。 参照系の操作が殆どですし、4000件/日くらいの トラヒックでは問題はないでしょう。 むしろ、データが増え続けることによる応答の劣化 のほうが心配かも知れません。DBシステム構築では 常に壊れた時を想定してシステムを構築するのが、 常識です。基本はバックアップを取ることですが、 ジャーナルが取れれば更に完全でしょう。 Accessにはジャーナル機能がないので、作り込みが 必要で、そこが厄介ですね。いずれにしても、費用の かかることなので、根拠無く騒ぎ立ててもニラまれる だけです。Accessの事故事例を集め、脆弱性を 証明し、代替DBの候補を列挙して、その特性や費用 等を詳しく記した報告書を作ることです。 そういうことを調べることで、アナタの言葉にも説得力が 生じるのです。

3261ht
質問者

お礼

早速の回答ありがとうございます。運用開始時色々な事例はとりあげたのですが、最終回答は、金銭面ではこれ以上の支出はできないので代替のDBへの変更は無理です。システム管理の責任者はほとんど知識の無い人間なんで、上司の答えは、今のシステムを大事に使って行くもし壊れたらシステムの専門家を雇って治してもらえればいいという発想でした。結局、ある程度のお金を使って現在のシステムを作った以上、別のシステムに変えることはさらに上の理解が得られないようです。ただ、本当に壊れたら被害ばかなり大きいでしょうけど、それを理解できていないようです。なんとか説得力のある説明ができるよう私も頑張りたいと思っています。ありがとうございました。

  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.2

150人ですか・・ 私は同時接続数でせいぜいその1/10位の数の経験しかありませんが 薄氷を踏む思いで運用されているのでは、と推察いたします。 壊れてしまったからと言ってもFaxのように取り替えてしまえば解決、 というわけには行きませんので 復旧に掛かる時間、 同じく人的コスト、 停止中に滞る業務内容 失う社会的信用や商機 なども説得の一部に加えてみては。 (特に『お金』の面から攻めてみるとか) あと、入力が一日4000件位で現時点で40万との事ですが 一日平均のMDBファイルのサイズの増加率はどれくらいなのでしょう? Accessの最大ファイルサイズ2Gがそんなに遠くない未来に訪れそうですが。 SQL Server Express Edition では10GBに拡大されたようです。 http://social.msdn.microsoft.com/Forums/ja-JP/sqlserverja/thread/13f45625-63b8-4153-bd10-0c16babbda08/ 上司が聞く耳を持たなかったとしても、次への移行を考えて 有料・無料も含めて本格的な?RDBMSを調べておいた方が良さそうです。 壊れる前に平行して試験運用が出来ると良いのですけどね。 システムの管理者さんとの連携もお忘れなく。 大地震の可能性も有ったにも拘らず、都合の悪いことには耳を塞いでしまって、 大事故を引き起こしているあの会社の危機管理から学んで欲しいところです。

3261ht
質問者

お礼

回答ありがとうございます。金銭面では全く無理な状況です。また他のDBへの進言もシステム開発前に提案しましたが、蹴られました。わが社のPC環境は独特なセキュリティ構造になってるみたいで、すべてファィルサーバー経由してデータの受け渡しをします。横のつながりがありません。SQL等も提案しましたが、いま導入されているソフト以外は追加の許可が下りないようです。ただ、データの増加率は私も失念していましたので、確認してみます。もしかしたら、そこから突破口が見出されるかも知れません。本当にありがとうございました。

関連するQ&A

  • accessの次のデータベース

    質問させていただきます。 今現在accessでデータベースを構築し、20万から30万件のデータを6名程度で入力しています。当たり前ですがレスポンスは落ちています。 ファイルが破壊してしまうのと、入力した後オペレータが検索して使用するので、レスポンスが遅いと業務に支障が出てしまいます。 accessは複数での使用に適していないことや、データ量のこともあり他のデータベースに移ろうと考えています。 SQLのexpressや、PHP+MYSQLなどを考えているのですが、私のスキル的にできるかぎり簡単にできる方法を探しています。 accessの危険をとりあえず回避したのち、きちんとしたデータベースの勉強をして強化できればと思っています。 MSDEを使用し、データテーブルのみをサーバーに移し、accessをフロントエンドで使用する方法を聞いたのですが、この方法だとクエリをクライアント側で実行するのでレスポンス的にはあまり変わらないような気がします。 何かいい方法があればご教授お願いいたします。

  • accessとSQLserverの違い

    こんちは。 DBについて教えて下さい。 社内システムをActiveServerPagesで構築しようと思うのですが、DBについて教えて下さい。 ACCESSについては多少知っているのでACCESSをDBとして構築したいのですが、ちゃんとしたシステムの場合はSQLserverやOracleのほうが良いと言われました。 何がそんなに違うのでしょう?レスポンス? データ件数は20,000件くらいです。

  • ACCESSを利用した顧客管理

    現在、社内の顧客管理システムを構築しようと検討中です。 管理する内容としては、営業の折衝履歴、見積情報等で、人数は5人前後での使用を想定しています。 まずは、ACCESSにてデータベースおよびフォームを作成し、「データベースの分割」機能を利用し、バックエンドデータベースをファイルサーバに置いておき、社内で各営業のPCからACCESSでアクセスする様な運用を考えています。 フォーム部分については、私の場合、他の言語よりACCESSでの作成の方が開発期間が短縮出来そうですのでACCESSで作成したいと思っています。 しかし、この方法(ファイルサーバにバックエンドデータベースを置いて共有する方法)での運用について色々調べてみますと、ファイルの破損や処理速度等に関して不安が残る様でしたので、最初はバックエンドデータベースをACCESSのままで試し、問題が出て来たらバックエンドデータベース部分をSQLServer等別のDBに置き換えて対応出来ればと思うのですが、DB置き換え後のテーブル構造が一緒であれば、フォーム部分については使いまわす事は可能なのでしょうか?また、置き換えるDBをSQLServerにする場合は、MySQLやPosgreSQL等他のDBに比べ、移行作業は大分楽なのでしょうか?

  • アクセス(Access)で作った製品の配布のライセンス料について

    アクセスで作った製品の配布のライセンス料について 質問させてください。 今、ウィンドウズ・アプリケーションをつくろうとしており、 マイクロソフトのアクセス(Access)を使ったシステムを作成しようと考えています。 アクセスをフロントエンドとして利用するか、バックエンドとして利用するかはまだ決めていません。 アクセスを利用してシステムを作り、それをお客さんに売った場合、 お客さんにはアクセスのライセンス料などは必要なのでしょうか? 例えばアクセスをフロントエンドとして利用してデータベースに接続する場合、 各端末分のアクセスのライセンス料が必要なのでしょうか? よろしくお願いします。

  • VBAでEXCELとACCESSについて考える

    EXCELLをベースにしたVBAでプログラミングを勉強し、最終的には小さい商店クラスの在庫管理とか商品管理などをやってみたいと思っていました。しかしEXCELLは行制限(65536)があります。 そこでどちみち勉強するならACCESSにしようかと思い、この教えてgooを見ていたら驚くことを発見しました。 ACCESSはデータ件数が1万件程度から極端にレスポンスが悪くなり、また同時入力などがあれば堪えられないほど遅いという意見です。 EXCELLを考えたのはOfficeには必ず含まれているので買わなくてすむが、データ件数の制限がある。ところがACCESSをわざわざ買っても(Professionalにはあるようですが)1万件程度で使い物にならないというのでは、所詮両方とも趣味で使うだけのものか、と思ってしまいました。 実際のところはどうなんでしょうか? 例えば最大端末5台程度の小さい商店でもEXCELLもACCESSも使い物にならないものでしょうか? 無論、トラフィックの多少に影響されるでしょうが、ザクリとしたところでご教授ください。 

  • Access2007を買うべきか?

    現在Excelで売上の集計しています。 データは月平均60件、年間720件ほどで過去データは3000件ほどあります。 Excel関数を使っていろいろやって、ある程度はできるのですがやはり、使いづらいのです。 Access、VB、VBScriptは経験があるのでAccessなどのDBソフトを購入しようかと検討中です。 Access意外にもお薦めなソフトなどありましたら教えていただけませんか? 予算のこともあるので価格と使い易さなど比較検討したいと思います。 OSはWindowsXP Home edition です。

  • (SV上)アクセスファイルの共有について

    SV上のアクセスファイルについての素朴な疑問です。 SV上のエクセルファイルだと複数人で同時に開くと、最初の人以外は「読み取り専用です」と表示されデータが書き込めません。 (1)アクセスファイルでは、同時に複数人が見てもこのようなメッセージは表示されず、みんなデータを書き込めるみたいですが、これはなぜなのでしょうか? 逆に言うとSV上のアクセスファイルには、何人くらいまで同時に接続でき、データの同時書き込みが可能なのでしょうか。 (2)このまま、SV上のアクセスファイルを共有にしていると、使用人数が増えた場合レスポンスが遅くなると思うのですが、SVにSQLサーバーなどのDBサーバーを使用したほうが良い目安(同時接続の使用人数など)はどのくらいなのでしょうか?

  • SQLSERVERとACCESSの違い

    現在はACCESSでシステム構築して 一日に約200件のデータを インポートしています。 (ファイル形式:csv ファイルサイズ:約16KB) まだデータ件数が少ないのですが 使用する部門は、約3年のデータを 使用したいといっているので データ件数は 約200件 × 365日 × 3年 = 約219000件 となりますが このままACCESSで使用していても 問題ないのでしょうか? SQLSERVERなら大丈夫ですか? マイクロソフトの ホームページでACCESSのことを調べると データ件数よりも 2GBサポートしているとありますが 毎日のインポートしている ファイルのサイズ×日数が2GB未満なら 問題ないという意味ですか? なお実際は、このデータ以外にも 商品マスター、店舗マスターの テーブルも存在します。 よろしくお願いします。

  • AccessでNULLのデータを判断する方法

    ご指導、宜しくお願い致します。 Accessを経由してPostgresのデータベースへ データをインポートしていきたいのですが、 Accessから抽出したデータが空白か空白ではないのかを 判断させたいのですが、以下のように記述しているのですが、正しく判断されないようです。 どのように記述すればよいのでしょうか??? ---------------------------------------- SQL="SELECT 単価,フラグ FROM AAA_TBL" Set RS = Conn.Execute(SQL) IF RS(0) = NULL THEN  RESPONSE.WRITE "空白" ELSE  RESPONSE.WRITE "単価" END IF IF RS(1) = NULL THEN  RESPONSE.WRITE "空白" ELSE  RESPONSE.WRITE "フラグ" END IF ---------------------------------------- Accessdb:AAA_TBL フィールド名/データ型 単価/INT4 フラグ/varchar

  • MS AccessからSQL Serverに移行

    現在Accessを使ってデータの参照と、フォームでの入出力を行っています。海外拠点とVPNでつながっていて、今回そちらからも接続したいので無料版SQL Serverにデータを移行し、Accessはフロントエンドとしてフォームの利用のために使いたいのです。 データベース自体は画像やらPDFが置いてあるらしく500MBほどありますが、おそらくテーブルはあっても片手で数えられる程度、データは1000件ほどだと思います。 利用方法は部品番号を入力したら該当するデータシートがフォームに出力されるだけの単純で原始的なものです。多分エクセル+フォームでも再現可能です。発注時にそれを参照しつつ数量その他を決めて発注後、その発注データをテーブルに保存しているようです。 Accessはネットワーク越しの利用には向かないと聞きますので、SQL Serverにデータだけ移行させたいのですが、簡単にできますでしょうか? 一番簡単なのはAccessのデータベースがあるPCにリモート接続することですが、3人が同時利用できないのでこのような方法を検討しています(同時使用は最大でも3人たいてい2人まで、全体の利用者は7人ほど)。 Accessのアップサイジングという機能を使ってテーブルのデータを流し込み、ODBCでAccessからサーバ上のDBに接続するだけで動作するならそちらに移行したいです。 よろしくお願いいたします。