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」では、ユーザー切替え機能が無いので上記不具合は、起きません。

以上