SSIS コンポーネント: PerformUpgrade メソッドのエラー
このエントリでは、SSIS の PerformUpgrade エラーの解決方法を説明します。
Date Entered: 3/13/2020 Last Updated: 3/13/2020 Author: Andrew Gill
PerformUpgrade method failed エラーは、多くの場合、対象となる SQL Server のバージョンとインストールされている CData アセンブリのバージョンが一致していないことが原因です。
ステップ 1: パッケージの対象 SQL Server バージョンを確認する
まず Visual Studio を開き、パッケージが対象としている SQL Server のバージョンを確認します。
- ソリューション エクスプローラーでプロジェクトを右クリックし、プロパティを選択します。
- プロジェクトのプロパティ ウィンドウで、構成プロパティを選択します。
- 全般セクションを選択します。配置対象バージョンのTargetServerVersionを確認します。
ステップ 2: インストール済みアセンブリを確認する
CData SSIS コンポーネントには、さまざまな SQL Server バージョンに対応した複数のアセンブリが用意されています。
CData SSIS コンポーネントをインストールする際、そのマシンで検出された利用可能な SQL Server バージョンが表示され、インストールするアセンブリを選択できます。
インストールされたアセンブリは、インストールディレクトリ内の lib フォルダに移動することで確認できます。デフォルトでは、C:\Program Files\CData\CData SSIS Components for MyDataSource 20xx となります。
各アセンブリは、CData.SSIS2017.MyDataSource.dll という命名規則に従っています。
注意: パッケージを別のサーバーにデプロイする場合は、そのマシンにインストールされている CData SSIS アセンブリも確認してください。
ステップ 3: 解決方法
インストール済みアセンブリと対象の SQL Server バージョンを確認した上で、PerformUpgrade エラーにはいくつかの原因が考えられます。以下に解決方法を示します。
シナリオ 1: パッケージのデプロイ時にサーバーにアセンブリがない
パッケージを別のマシンにデプロイし、そのマシンでのみエラーが発生する場合は、サーバーにインストールされているアセンブリを注意深く確認してください。
2台目のマシンで異なるバージョンの SQL Server が検出されたため、異なるアセンブリがインストールされている可能性があります。または、サーバーにコンポーネントがまったくインストールされていない可能性もあります。
解決するには、サーバーが対象とする SQL Server のバージョンを確認し、最初のマシンの Visual Studio でプロジェクトの TargetServerVersion を一致するように調整します。両方のマシンに一致するアセンブリがインストールされていることを確認してから、パッケージを再度デプロイしてください。
シナリオ 2: 実行アプリケーションと対象アセンブリの互換性がない
両方のマシンに正しいアセンブリがすべてインストールされている場合でも、PerformUpgrade エラーが発生することがあります。
次のシナリオを考えてみましょう:
- 関連するすべてのマシンに、2016 と 2017 両方の CData アセンブリがインストールされている。
- Visual Studio プロジェクトは SQL Server 2017 を対象としている。
- パッケージを実行するアプリケーション(パッケージ実行ユーティリティや SQL Agent ジョブなど)は SQL Server 2016 を対象としている。
このシナリオでも PerformUpgrade エラーが発生します。これは、アプリケーションが 2016 アセンブリを検索して検証するためです。パッケージとその依存関係にある接続マネージャーは 2017 の CData アセンブリを参照しており、これはアプリケーションでサポートされていません。SSIS が PerformUpgrade メソッドを呼び出しますが、2016 アセンブリが見つからないため、失敗します。
解決するには、パッケージを実行するアプリケーションに合わせて TargetServerVersion を調整してください。
We appreciate your feedback. If you have any questions, comments, or suggestions about this entry, please contact our support team at support@cdata.co.jp.