- PR -

COM+ 接続プーリングの同時複数起動について

1
投稿者投稿内容
MIYABE
会議室デビュー日: 2006/03/02
投稿数: 1
投稿日時: 2006-03-02 14:37

現在、稼動中のWEBシステムの改修・調査を依頼されております。
が、以下、客先の要望自体が実現可能かどうかもわからず、悪戦苦闘しております。
是非、有識者の方のご助言を頂きたく思いますので、宜しくお願いします。

<システムの概要>
■OS Client:Windows2000Pro(SP4)
Server:WINDOWS2000 SERVER SP4
■開発用ソフト/言語
ASP(WEB画面).Netではありません。
MicroSoft Visual Basic 6.0 SP6 (WEB画面組み込み部品・DBへのコントロール)
■DB  Oracle9i Release 9.2.0.1.0 - Production
■DBアクセス部品 COM+1.0によるADO接続
VBの参照設定で、「Microsoft OLE DB 」をチェックしたCLASSDLLを設定

■ WEB画面の骨格はASPで構築されています。
     DBアクセスなど、コントロールに関しては、VB(検索ボタンetc)で作成。

■ DBへのコネクションがVBで作られたクラスDLLをCOM+へ登録、使用する事によって、
    接続が行われる様(ほぼ自動的に接続が行われる)に構成されています。

■ Oracle9iのユーザーデータが複数のカテゴリに分類される為、
    同じDB内でDBスキーマが複数、存在します。

■ 現在、COM+のコネクション・プーリング(バックグラウンドプロセス)を利用して、
     接続が切れた場合等も、プールされた接続情報により、
すぐに再接続される様、動作しております。

■ 例ですが、現在、スキーマAにDBLOGINした後、
     スキーマBのデータはスキーマAの中にあるシノニム(別表)を利用して、
スキーマBのデータにアクセスしております。

■ 接続の流れは、スキーマA→スキーマC→スキーマBとします。
(実際はこの組み合わせ分、全てあります。)

■ クラスDLLの接続文字列はレジストリの中に有り、
     複数のDLLが絡んでいる為に、条件によって
     文字列の中身を変えられません(文字列が完全に固定されています)

■ お客様の要望(ご希望)が、シノニムを使用したアクセスではなく、
例えば現在、クラスDLLでCOM+のコネクション・プーリング(バックグラウンドプロ     セス)を利用して、スキーマAが稼動しておりますが、
同様に、上記部品を複製した別名のクラスDLLをでCOM+のコネクション・プーリング     に登録して、
     もう一つ、「スキーマB」を稼動させられないかとの、
     強い要望を受け、調査しておりますが、よくわかりません。


■ 「スキーマB」分のモジュールを作成し、実際に動作させると、
「スキーマA」分の前の接続情報が残っているのか(コネクションプーリング)
ASPとVBのデバッガ等でテストしていると、動作が固まり、状態が不明です。
     エラーコードも分かりません。
ORACLE上では、スキーマAとスキーマB両方の接続セッションが
     DBツール等により確認されました。


■ (質問の要点)
@ 上記要望が実現可能かどうか、

A 実現不可能であれば、なぜ行えないのか、その理由(例:バックグラウンドプロセス     は二つ同時に起動できないetc)

B 実現可能な場合、実際にどの様な手順を踏めば、行う事が出来るのか、

実現不可能な場合の理由だけでも構いません。
是非とも、ご教授くださいませ。

_________________
1

スキルアップ/キャリアアップ(JOB@IT)