TO:DRS関係者各位
FROM:油井コンサルティング 岡本
DATE:6/22/2002
RE:D00014 DRSを OS「Windows XP Home」で使用する場合の注意事項
DRSを OS「Windows XP Home」で使用する場合の注意事項
1.問題現象
OS「Windows XP Home」では、logonしているユーザーをlogoffしないで、別のユーザーにlogon出来ます。(具体的には、メニュー「スタート・ログオフ」で終了時に「切替え」を選択し、別のユーザーにlogonする。)
OS「Windows XP Home」で同時に複数ユーザーにlogonし、各々のユーザーでDRSを実行すると下記の不具合が発生します。
発生する不具合は、DRSのクライアントPCとして使用している場合と、DRSのサーバーPCとして使用している場合で異なります。
クライアントPC、サーバーPCの各々の場合での不具合を記述します。
1−1)クライアントPCの場合
・ユーザーAにlogonして患者登録カルテ記入プログラムを起動する。
・ユーザーAで、患者登録カルテ記入プログラムを起動したまま、ユーザーBに切り替える。
・ユーザーBで患者登録カルテ記入プログラムを起動しようとすると、下記のエラーメッセージが表示されて、サーバーPCにアクセス出来ず、患者登録カルテ記入プログラムが使用出来ない。
「DBMAN:174 LAN使用不能 NET名情報を得られません。net status ret=0x%2.2x」
1−2)サーバーPCの場合
・ユーザーAにlogonして患者登録カルテ記入プログラムを起動する。
・ユーザーAで、患者登録カルテ記入プログラムを起動したまま、ユーザーBに切り替える。
・ユーザーBで患者登録カルテ記入プログラムを起動しようとすると、下記のエラーメッセージが表示されるが、患者登録カルテ記入プログラムは、起動し、使用できる。
「DBMAN:174 LAN使用不能 NET名情報を得られません。net status ret=0x%2.2x」
・しかし、ユーザーBの患者登録カルテ記入プログラムでは、LAN上での患者毎の排他制御機能が使用出来なくなる。
具体的には、クライアントPCで患者番号「1000」の患者が再来中であっても、ユーザーBの患者登録カルテ記入プログラムで患者番号「1000」の患者がそのまま再来出来てしまう。そして、クライアントPC、サーバーPCの両方で患者番号「1000」の患者情報を書き込めてしまう。
2.原因
DRSでは、データベースへのアクセスを「dbman32.exe」というプログラムで行います。患者登録カルテ記入プログラム等のDRSプログラムは、データベースアクセス時に「dbamn32.exe」とプロセス間通信機能で通信し、実際のデータベースへのアクセスは「dbamn32.exe」が行います。(サーバー、クライアントPC間のLAN通信も「dbman32.exe」が行います。)
「dbamn32.exe」は、データベースに対するアクセスの排他制御を行うために、1台のPC上では、1プロセスしか実行してはいけません。
既に「dbman32.exe」が実行している状態で、2プロセス目の「dbman32.exe」を起動しようとすると、起動中の「dbman32.exe」は、既に「dbman32.exe」が実行しているかをチェックし、実行中の「dbman32.exe」が存在する場合は、起動しなくしてます。
OS「Windows XP Home」でユーザー切替え機能を使用した場合、別ユーザーで起動している「dbman32.exe」の実行チェックが行えません。logonするユーザー毎に「dbman32.exe」が起動してしまうために、問題現象が起きます。
(なぜ、実行チェックが行えないかは、現在調査中です。ユーザー切替え機能は、OS「Windows XP Home」から出来るようになった機能ですので、OSの機能追加による仕様変更かもしれません。)
3.お願い
1)DRS使用中の「Windows XP Home」のユーザー切替え機能は、使用しないでください。
ユーザー切替え機能を使用する場合は、DRSプログラム、「dbman32.exe」を終了してから切替えるようにしてください。
2)「Windows XP」系のOSを使用する場合は、なるべく「Windows XP Professional」を使用してください。「Professional」では、ユーザー切替え機能が無いので上記不具合は、起きません。
以上