• ベストアンサー

Accessの排他制御をどのように行うべきか

いつもお世話になっております。 Windows2000 Access2002、またはAccess2000にて、 複数のPCで、サーバにおいてあるmdbファイルを使用するシステムを開発する場合、 (例えば、スタンドアロンで使用していたシステムを複数のPCで使用することになったと仮定します。 また予算の都合上、Oracle、SQL Serverなどは使えないものとし、各PCにAccessがインストールされます。 ) 排他制御を行うために、Accessで排他モードで開いて使用するという対応というのは、問題ないのでしょうか。 データが破損する可能性があるということをよく耳にするのですが、 過去に上記の対応を行われた方がいらっしゃいましたら、その後の運用で問題は発生しなかったか(ファイルが壊れる事はないのか)、 過去に壊れた事象をお持ちの方がいらっしゃいましたら、どのように対応されたのか、 別の対応方法をとられていらっしゃる方は、その対応方法を ご教授いただけないでしょうか。 プログラムでデータの破損を退避できるのであれば、上の対応と併せて開発できそうな気はするのですが、、 ご回答、よろしくお願いいたします。

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

  • ベストアンサー
  • Watapo3
  • ベストアンサー率76% (33/43)
回答No.3

お疲れ様です。 >当方開発用マシンが Win2000 Pro版なのですが、 >MSDEをWin2000 Pro版にインストールし、サーバとして使用することは可能でしょうか。 上記につきましては、問題なく使用することが可能です。 >また、開発用マシンにはOfficeXP Oracle8が入っているのですが、 >以下の問題が発生しうる環境であるため、インストールを控えております。 >[Oracle8とMSDE2000をインストールするとOSが起動しない] >http://support.microsoft.com/default.aspx?scid=kb;ja;417553 知りませんでした(^ ^; 逃げ道としては、Access2002付属のMSDE2.0ではなく、Access2000付属のMSDE1.0?を使うことぐらいしか思いつきませんねぇ、、、 お役に立てずにすいませんm(_ _)m

その他の回答 (2)

  • Watapo3
  • ベストアンサー率76% (33/43)
回答No.2

こんにちは。 Accessを複数の端末から同時に使うのは私は怖いのでやったことがありませんので、排他~についてはほかの方に譲ります。 さて、 >また予算の都合上、Oracle、SQL Serverなどは使えないものとし、各PCにAccessがインストールされます。 ) とのことですが、 予算の都合のみということであればMSDEの使用は如何でしょうか? MDBよりもいいと思います。

o_w_nakazaki
質問者

お礼

ご回答いただき、ありがとうございます。 MSDEの導入についてですが、 当方開発用マシンが Win2000 Pro版なのですが、 MSDEをWin2000 Pro版にインストールし、サーバとして使用することは可能でしょうか。 また、開発用マシンにはOfficeXP Oracle8が入っているのですが、 以下の問題が発生しうる環境であるため、インストールを控えております。 [Oracle8とMSDE2000をインストールするとOSが起動しない] http://support.microsoft.com/default.aspx?scid=kb;ja;417553 SQLServer2000は入っているのですが、MSDEと扱いが別なのか、 現象は発生しておりません。 客先によっては上記環境も発生しえますので、 導入すべきか迷っております。

  • yatoaa
  • ベストアンサー率30% (110/362)
回答No.1

こんにちわ ACCESSで排他で開くというのは 1人だけしか使用できません 二人目以降の人はそのmdbを使用できません 排他が必須なら、同一レコードの更新時に メッセージ表示する、レコード単位の排他指定 をするのが簡易な方法です

関連するQ&A

  • Accessでの排他制御

    アクセスの排他制御に関して質問です。 ネットワーク上のサーバーにアクセスのMDBを置いて、複数の人が更新目的で開く場合、排他制御はどうなるのでしょうか? テーブル単位で、ロックが掛かるのでしょうか? もしそうであれば、複数の人が同時に使えないのですが、回避策はありませんでしょうか?

  • 排他制御について

    質問があります。 Access2003とSQLserver2005の排他制御についてです。 複数のPCから共有してアクセスし、レコード単位に排他制御したいといった場合、 排他制御に適しているのはどちらでしょうか? 「Accessではこういう問題があり適さない」などあったら教えてください。 よろしくお願いします。

  • Accessの排他問題

    Accessの排他について質問です。 現在、データベースサーバにAccessを使用しています。 そこでクライアント端末から複数のアクセスが生じた場合の排他の対処法を教えてください。 ODBCでリンクしようとしたのですが通常、MS-Access では、Access 自身のデータベース(MDB) を ODBC を介してリンクする事は出来ない仕組みになっているそうです。 なにか良い解決策はないでしょうか?

  • ネットワーク上のファイルの排他

    No.872814 SCSI HDDのファイルシステム?関連で追加で疑問です。 複数のPCと(SCSI等で)接続した一台のディスクは、PC間で排他されないとのことですが、普通のネットワークコンピュータによるファイル共有はどのように排他されているのでしょう? Windows側が排他しているんでしょうか。 にしても、ディスク側にも排他中の情報がありそうに思います。 ディスク内のファイルシステムだけで排他を制御しているなら、複数PCと(SCSI等で)接続した一台のディスクも同じように排他できるのでは?と素人考えしてしまいますが、どうでしょう。

  • Access2000で排他ロックをかけるには?

    こんにちは。 Access2000を複数のユーザーで使用したいのですが、 上手く排他ロックがかからなくて困っています。 使用状況を説明しますと、テーブルのみの入ったデータベース(DT)を サーバーに置き、使用するユーザーのコンピュータにはフォームや レポートの入ったデータベース(PG)を置いて、それぞれサーバーから テーブルをリンクしています。 PGには複数のフォームがあり、例えばフォーム(1)を誰かが使用しているときは 他の人はフォーム(1)は使用できないけど、他のフォーム(2)、フォーム(3)の 使用はできるようにしたいのです。 どなたかご存知の方いらっしゃいましたら回答お願いします。

  • 排他制御について

    質問します。 VB.NETとSQLServer2000を使用して受発注処理を作成したいのですが、排他制御について今悩んでいます。 レコードロックの動作についてなのですが、Aさんが「A01」のデータをレコードロックでデータを画面に表示している場合に、Bさんも(別PCにて)同様にレコードロックで「A01」のデータを表示することは可能なのでしょうか?(取得できるのか) 何方かご教授お願い致します。

  • アクセスの共有

    お尋ねします。 現在、アクセスで作ったファイルをスタンドアロンで使用していますが、LAN上の5名くらいで共有使用したいと考えています。 初心者なので、どのようにシステムを組めばいいのかよくわかりません。 SQLサーバー、WINDOWS2000サーバーなど具体的に教えていただけませんか。 よろしくお願いします。

  • Access2000の排他モード?

    N0.62665で全く々質問があったのですが、回答アドバイスにとどまり、その処置に到っていなかったのでこちらでまた質問させていただきます。 ネットワーク上でAccess97を使っていましたがAccess2000にバージョンアップしました。すると複数人数が開こうとしたとき、一番最初に開いた人以外は、 「現在このデータベースには排他モードでアクセスしていません。変更しても保存できない可能性がありますがよいですか」 とのメッセージが出て、データの変更を行ってもそれを保存することが出来ません。 ツール→オプションの排他・共有の設定など変えてみたのですが、変化無し。 以前のようにみんなが使えるようにするにはどこの設定をどう、変更すれば良いのでしょうか? よろしくお願いします。

  • accessとphpとsql

    現在、WEBからphpでSQLを使い、access(2002)にデータ入力とデータ参照するシステムを作成しています。 とりあえず両方できていますが、データ入力は複数人数で同時に更新(異なるレコード。テーブルは同一)することが想定されます。 排他制御はやりかたがわからずに組み込んでおりません。 ですが、入力者には個別のページに飛んでそこからデータを更新するようなWEBになっており、注意して作業してもらえば排他制御しなくてもいいかなと思っています。 ネットでaccessではデータの破損が起きやすいとありましたが、このような使用状況では起こりえるでしょうか? また、accessからmysqlなどに変更するメリットなどはありますでしょうか? よろしくお願いします。

  • 排他制御の方法

    現在、PWS+ASP+ACCESSを使用し開発を行っていますが排他制御で悩んでいます。 ASPは、ステートレスなセッションでの制御しか出来ないため、ページを表示後のデータの変更はスタンドアロンでの更新のような形になってしまうと思います。 以下のような方法で行っている実例を見たことがありますが、少なからず問題も抱えていると思います。 ・レコード毎に排他フラグを保持する ~ 処理がアベンドした場合にフラグが残る(一定時間後に解除という方法もありますが) ・レコード毎に更新時間を持ち、読込時の更新時間と更新時の更新時間とを比較し更新されていない時だけ更新をかける ~ 後に更新をかけようとした変更が無駄になる 上記の方法以外で、排他制御を実現させる良い方法はないのでしょうか。他の方法で実現しているときは、その方法を教えて頂けませんでしょうか。 ※PWS→IIS、ACCESS→SQLServerに変更する可能性はあります。 (セッションオブジェクト・アプリケーションオブジェクト等を使用しての実現方法など) 宜しくお願いします。

専門家に質問してみよう