Access2003でメモリ不足になります。
Access2003をクライアントに、Oracle9iをDBサーバとして2層クライアントサーバシステムを会社で運用しています。しかし、Access2003のMDBを4つ同時に立ち上げて業務を行うためか、3時間でメモリ使用量が500MBになります。端末の物理メモリ容量は512MBのため、3時間で動作がとても緩慢になってしまいます。
MDBからDBサーバへのアクセス作業を行ううちに、メモリが完全に解放されずに残るケースがあり、それが蓄積されているようです。データベースへの参照(SELECT)よりも、書き込み処理(INSERT, UPDATE,DELETE)を行った後に使用メモリの蓄積が発生しやすいです。
また、フォームの開閉時よりも、別のMDBにフォーカスを移すと、メモリの解放が行われず、メモリの蓄積が発生しているようです。複数のMDBを起動している場合、一番最後のMDBを終了させるとメモリ使用量が元に戻ります。
背景としましては、最近、会社の基幹システムを刷新しました。刷新したといっても、ソースコードは変更せずに、Oracle7.2 Server/Access97で動作していたクライアントサーバシステムを、Oracle9.2 Server/Access2003に変更し、その変更に伴い動作がおかしくなる部分を修正しただけです。
MDBを複数立ち上げなくてはならないのは、とても基幹システムの規模が保守につぐ保守で大きくなってしまったため、MDBを機能単位で分割しているからです。
Access2003からOracle9.2へのアクセスはODBCを利用しています。クライアントのOSはWindows2000Professional sp4、サーバOSはWindowsServer2003、Oracle9.2はStandard Editionです。
Access97時代にはこれほどのメモリ使用量にはならず、現在はお昼休みに全てのMDBをいったん終了してから再度使用する運用でなんとか切り抜けています。
どなたか解決のヒントをご教授いただければ幸いです。
お礼
遅くなってしまいましたが、回答をありがとうございます。