[前][次][番号順一覧][スレッド一覧]

mysql:5160

From: "AN/NaNa_レディス_メンズ_ダンス" <"AN/NaNa_レディス_メンズ_ダンス" <an-nana@xxxxxxxxxx>>
Date: Sat, 16 Feb 2002 16:11:18 +0900
Subject: [mysql 05160] MyODBC 経由・ Access の DAO でロックはかけられるのでしょうか?


皆様はじめまして。
今度新しくこのMLに参加させていただきます
竹内といいます。
MySQL、Accessともに初心者です。
いきなりで恐縮ですが、質問をさせていただきたく
投稿しました。よろしくお願いします。

(環境はAccess2000+Win98無印、
  mysql-3.23.36-win + myodbc-2.50.29-win95
  です。)

現在「MySQL活用ガイド」という書籍にて、MS-Accessから
のMySQLへのアクセスについて勉強中です。

そこで質問なのですが、MyODBCを使ってDAOでテーブルに
アクセスし、データの更新やレコードの新規追加をしよう
とした場合、ロックはAccess既定のロックが適用されるの
でしょうか?
それともそれは無視されて、ロックがかからない状態
になっているのでしょうか?

今現在、以下のコードでテーブルデータの更新等が可能だ
ということまではわかりましたが、ロックが実際のところ
どのようになっているかがわかりません。

***************************************************

Dim db As DAO.Database
Dim rs As DAO.Recordset

Set db = CurrentDb
Set rs = db.OpenRecordset("msg", dbOpenDynaset)

rs.LockEdits = True     ’排他ロックを発生させる設定に。

    rs.Edit                  ’実ロック発生。でも本当にロックが
                              ’かかっているのでしょうか?
        rs!入庫 = 3

    rs.Update             ’実ロック解除?


Set rs = Nothing
Set db = Nothing

***************************************************


上記コードで本当にロックがかかっているか?を調べるために、
「MsgBox "stop"」という1行を「rs!入庫 = 3」の行
の次に追加してから実行し、その後、他のmdbから上記
と同じコードで同じテーブルにアクセスしたところ、書き
換えができてしまいました。
(例えば”他のユーザーがアクセス中”などのエラーが出ない。)

「MsgBox "stop"」を「rs.Update」行に移動させて
実行しても同じ結果でした。

***************************************************

テーブルの構成は以下のとおりです。

テーブル名:msg

フィールド設定:                                       Null  Default
serial (int(11)PrimaryKey/auto_increment)            Null
mdate  (timeStamp(14))                           Yes     Null
txt     (varchar(255))                                Yes     Null
入庫   (int(11))                                       Yes     Null
売上   (int(11))                                       Yes     Null
在庫   (int(11))                                       Yes     Null

ODBCアドミニストレーターの「システムDNS」にて
「TEST2」という名前でアクセスしています。
ユーザーIDやパスワードは設定していません。
また、テーブルはリンクテーブルとして設定し、
アクセスしています。

mdb側のオプションのロック設定は既定、排他モード両方
試しました。(こちらの設定はフォームやテーブルの
データシートビューに対してだけなのでしょうか?)

また、MyODBCのバージョンに関係があるのかな?と思い、
myodbc-2.50.39-win95でも試してみましたが結果は
同じでした。


***************************************************

ざっと、以上のような状況でして、
チェックの仕方が悪いのか、それともロックがかかって
いないのか?判断しかねています。

何か良い判断方法、チェック方法がありましたら、何卒
ご教授ください。また、正しいロックのかけ方が他にある
のならそちらもお教え頂けませんでしょうか?
もしくは、「MyODBC経由ではロックはかからない」などの
情報でも結構です。

よろしくお願いいたします。


***************************************************
(株)ロダン AN/NaNa 竹内 理
***************************************************



[前][次][番号順一覧][スレッド一覧]

      5157 2002-02-15 22:34 [Shin-ichi Tsurunaga ] オフ会総括                              
      5158 2002-02-16 00:10 ┣["TAKAHASHI, Tomohiro]                                       
      5159 2002-02-16 09:30 ┣[遠藤 俊裕 <endo_t@xx]                                       
->    5160 2002-02-16 16:11 ┃┣["AN/NaNa_レディス_メ] MyODBC 経由・ Access の DAO でロックはかけられるのでしょうか?
      5165 2002-02-17 09:10 ┃┃┗[Kengo Jinno <kengo@x]                                   
      5184 2002-02-20 10:51 ┃┃ ┗["AN/NaNa_レディス_メ] [ お礼 ]MyODBC  経由・ Access  の DAO でロックはかけられるのでしょうか?
      5185 2002-02-20 16:39 ┃┃  ┗["AN/NaNa_レディス_メ] [ できました ]MyODBC 経由・ Access の DAO でロックはかけられるのでしょうか?
      5161 2002-02-16 17:50 ┃┗["Y. Tsutsui" <tutui@]                                     
      5171 2002-02-17 14:16 ┃ ┣[とみたまさひろ <tomm]                                   
      5180 2002-02-18 13:01 ┃ ┃┗[遠藤 俊裕 <endo_t@xx]                                 
      5172 2002-02-17 14:50 ┃ ┗[Hidesuke Shimada <hi]                                   
      5166 2002-02-17 10:23 ┗[とみたまさひろ <tomm]