0

シナリオ:

1) SQL 2012 (@ Amazon) を使用するWindows 2008 r2 サーバーからSQL 2012 (@ Azure) を使用するWindows 2012 サーバーにSSISを移行しています。

Windows 2008 構成 (実動サーバー)

1) 厳密に型指定された dll がvs2012でコンパイルされました。2008 サーバーで約 14 か月使用されています。dll は、スクリプト タスクおよびスクリプト コンポーネントから呼び出されます。(vb は c# ではありません) dll は 5 つの dtsx から呼び出されます。

2) \v8.0A\bin\NETFX 4.0 Tools\x64\gacutil.exedll を gac に構成するために使用されました。

3) 何らかの理由で、dll の x64 バージョンと msil バージョンの両方を構成しました。なぜこれを行ったのかはわかりませんが、これは運用サーバーであるため、テストのためにアンインストール/再インストールするつもりはありません。

4) msil のバージョンはC:\Program Files (x86)\Microsoft SQL Server\110\SDK\Assemblies

Windows 2012 Config (将来の実稼働サーバー)

1)Windows 2008ボックスにdllがインストールされているのとまったく同じ方法でdllをインストールしました

2) dll はスクリプト タスクから正常に動作します。

3) スクリプト コンポーネントから dll が機能しません。次のような同じエラー メッセージが生成されます。

System.Reflection.TargetInvocationException: 呼び出しのターゲットによって例外がスローされました。---> System.IO.FileNotFoundException: ファイルまたはアセンブリ 'NSWebService, Version=2.2012.1.0, Culture=neutral, PublicKeyToken=2e561c72c5209961' またはその依存関係の 1 つを読み込めませんでした。システムは、指定されたファイルを見つけることができません。

これが機能しない理由をデバッグ/判断する方法について誰か提案がありますか?

4

1 に答える 1

0

明らかな答えは、アセンブリに NSWebService への参照があり、NSWebService が新しいサーバーにインストールされていないことです。修正は、NSWebService が新しいサーバーの GAC にあることを確認することです。

于 2013-09-06T16:02:22.500 に答える