現在問題が発生しています。状況は次のとおりです。
目的は、serverA の dll を使用して serverB のデータベースに書き込むことです (SQL データベースではなく、RAIMA データベースです)。
serverB の Web サービスは、次のスクリプトを実行します。
oClassType = System.Type.GetTypeFromProgID("Wonderware.MaterialSrv.wwMaterialDB.1", serverA);
oMaterialDB = (Wonderware.InBatch.MaterialServer.IMaterialDB)Activator.CreateInstance(oClassType);
2 行目で、スクリプトは例外をスローします。
System.Runtime.InteropServices.COMException (0x800706BA): CLSID {03BD256F-6114-11D1-9E81-00A0C939AC09} を持つリモート コンポーネントの COM クラス ファクトリをマシン serverA から取得すると、次のエラーが原因で失敗しました: 800706ba serverA
使用する .exe に適切な DCOM アクセス (通常、WS アカウントには適切なアクセスがあります) を設定しましたが、彼の CLSID は {03BD2562-6114-11D1-9E81-00A0C939AC09} です。ファイアウォールはオフです。
そして、私が得たイベントビューアのserverAから:
DCOM は、構成されたプロトコルを使用してコンピューター ჸ൵蠀 と通信できませんでした。PID 0 () によって要求されます。
サーバー名が中国語の記号で書かれており、PIDが 0 であるように!
serverB から私はこれをイベントビューアーに持っています:
サーバーをアクティブ化しようとしたときに、DCOM がコンピューター serverA からエラー "2147746132" を受け取りました: {03BD256F-6114-11D1-9E81-00A0C939AC09}
これは理にかなっています...問題はserverAにあると思います。
何がうまくいかないのか、誰にも分かりますか?