初めて投稿させて頂きます。(Windows Serverのフォーラムから転記しております。) Windows2000Serverで動作していたCOM+(VB6.0で作成)を2003Serverへ移行することになったのですが、
クライアントが、WindowsXP SP3の場合は正しく動作するのですが、Windows2000からだと「"~"メソッドは失敗しました」 のエラーが発生します。クライアント側のアプリケーションもVB6.0で作成しています。
サーバサイドOS:WindowsServer 2003 R2 Standaerd(SP2適応済) クライアントOS:WindowsServer 2000(SP4適応済) いろいろ試してみたところ、エラー発生箇所は特定できました。
クライアントのアプリから引数としてDouble型、またはDate型を含むユーザ定義型をbyrefで渡して、 サーバでDB検索を行い、取得したデータをユーザ定義型の配列に設定して返す場合に、 サーバ側のCOMのメソッドは正常復帰するのですが、クライアント側で上記のエラーが発生しているようでした。
試しに、ユーザ定義型のDouble型をString型に変えて実行するとエラーは発生しませんでした。
COM+のバグレポートが見つけられないため、対処方法が特定できず困っています。
参考サイトだけでも結構ですので教えていただけないでしょうか。
また、同様の現象に遭遇された方がいらっしゃいましたら、対象および対処方法を教えていただけないでしょうか?
よろしくお願いいたします。
以下からの移動ですね^^
「Windows2003のDCOMのメソッドをWin2000から呼び出すと、メソッドは失敗しました エラーとなる」 http://social.technet.microsoft.com/Forums/ja-JP/windowsserver2003ja/thread/9a52909e-9f6f-42e9-8ac5-96a64db02898
ざっと調べてみても、以下のような情報しか見つけられませんでした。 他になにかエラーはでていませんでしょうか?
「BSTR 型を格納するユーザー定義型の値で渡す場合、Dllhost.exe プロセスがクラッシュします。」 http://support.microsoft.com/kb/829201/ja ※機械翻訳のため、分かりにくい場合、英語と並べて読んだ方が理解しやすいとおもいます。 http://support.microsoft.com/kb/829201/en
なお、ここに出ているCOMのロールアップは、私が知る限り37まで出ています。一度ご覧になってはいかがでしょうか。 「可用性の Windows 2000 Post-Service パック 4 COM + 1. 0 修正プログラム ロールアップ パッケージ 37」 http://support.microsoft.com/kb/922667/ja
ありがとうございます。
サーバ側もクライアント側もイベントログにも何もなく、サーバ側は正常復帰しているようなので。
教えていただいたCOMのロールアップを調べてみます。