私はいくつかの古いWeb アプリケーション、UI 用の VBScript ベースの ASP、ビジネスおよびデータ アクセス レイヤー用の VB6 COM モジュールをサポートしています。先週末、いくつかの Windows 2000 サーバーに DB2 Connect Enterprise Edition v8 フィックスパック 14 をインストールしましたが、組み込みの VBScript 関数FormatNumberを呼び出すと、Web アプリケーションの 1 つが null データでエラーになります。この数値データは SQL Server クエリによって取得されますが、SQL Server 列にデータが入力される唯一の方法は、数ページにわたる進行の早い段階で DB2 クエリから返された計算結果を使用することです。
DB2 Connect EE をインストールしたときにロードされたコンポーネントの 1 つは MDAC 2.7 でした。企業の指示に従い、インストール時に ODBC システム データ ソースを保存しました。インストール後にテストしたところ、良好な接続が報告されました。
価値があるのは、製品 VB6 モジュールのプロジェクト参照が MDAC 2.5 を指していたことです。MDAC 2.7 を参照する VB6 モジュールの新しいバージョンをテスト サーバーで再コンパイルして COM に展開しようとしました。私の開発環境は Windows XP Pro で、MDAC 2.8 と DB2 Connect EE v9.5 がインストールされています。更新された VB6 dll をデプロイすると、CreateObjectがクラスのインスタンス化に失敗し、「クラスはオートメーションまたは要求されたインターフェイスをサポートしていません」というエラー メッセージが表示されます。
DB2 Connect のインストールを元に戻し、以前の環境であった DB2 ランタイム クライアントの v8 を再インストールしました。ただし、問題は解決しません。