none
Integrationパッケージ作成完了したが配置できない

    質問

  • お世話になります。 Integration Service プロジェクトのパッケージを作り終えたのですが、配置ができず困っています。

    次のような構成のVisual Studio 2010より、Business Inteligenceのプロジェクト
    Integrationパッケージを作成しました。

    ■開発クライアント
    Windows 7 Enterprise x64
    SQL Server 2008 R2
    SQL Server 2012
    Visual Studio 2010

    ■処理対象サーバー
    (=Integrationのパッケージを配置したい場所)

    Windows 2008
    SQL Server 2008
    ここは、Integration のパッケージは何度か動作しています。
    (作成はこのWindows2008上のVisualStudioで実施)

    完成した
    XXXXXXXXXXXXXXXX.dtsx

    ファイルをMSSSMSより、パッケージのインポート>ファイルシステム という形で選択し、インポート操作を行ったところ、次のようなエラーで取り込むことができません。

    タイトル: パッケージのインポート
    ------------------------------

    エラー 0xC0010014 "1 つ以上のエラーが発生しました。このエラーの前により具体的なエラーが発生していて、そのエラーで詳細が説明されています。このメッセージは、エラーの原因となった関数からの戻り値として使用されます。" により、パッケージを読み込めませんでした。このエラーは、CPackage::LoadFromXML が失敗した場合に発生します。


    ------------------------------
    ADDITIONAL INFORMATION:

    エラー 0xC0010014 "1 つ以上のエラーが発生しました。このエラーの前により具体的なエラーが発生していて、そのエラーで詳細が説明されています。このメッセージは、エラーの原因となった関数からの戻り値として使用されます。" により、パッケージを読み込めませんでした。このエラーは、CPackage::LoadFromXML が失敗した場合に発生します。


    ------------------------------
    BUTTONS:

    OK
    ------------------------------

    以下はさらに詳細のログを出力したもの。

    ===================================

    エラー 0xC0010014 "1 つ以上のエラーが発生しました。このエラーの前により具体的なエラーが発生していて、そのエラーで詳細が説明されています。このメッセージは、エラーの原因となった関数からの戻り値として使用されます。" により、パッケージを読み込めませんでした。このエラーは、CPackage::LoadFromXML が失敗した場合に発生します。


    ------------------------------
    プログラムの場所:

       場所 Microsoft.SqlServer.Dts.Runtime.Application.LoadPackage(String fileName, IDTSEvents events, Boolean loadNeutral)
       場所 Microsoft.SqlServer.Dts.Runtime.Application.LoadPackage(String fileName, IDTSEvents events)
       場所 Microsoft.DataTransformationServices.Controls.PackageProtectionUtils.<>c__DisplayClass4.<LoadPackageFromFile>b__3(String password, IDTSEvents events)
       場所 Microsoft.DataTransformationServices.Controls.PackageProtectionUtils.LoadPackageWithPassword(PackageLoader loader, IWin32Window dialogParent, String packageName, Boolean askOptionalPassword, String& packagePassword, DtsProtectionEventListener errorListener)
       場所 Microsoft.DataTransformationServices.Controls.PackageProtectionUtils.LoadPackageFromFile(String file, IWin32Window dialogParent, Boolean askOptionalPassword, PackageUpgradeOptions packageUpgradeOptions, String& packagePassword, DtsProtectionEventListener errorListener)
       場所 Microsoft.DataTransformationServices.Controls.PackageLocationControl.LoadPackage(DtsProtectionEventListener errorListener, PackageUpgradeOptions packageUpgradeOptions, String& packagePassword)
       場所 Microsoft.DataTransformationServices.Controls.PackageLocationControl.LoadPackage(DtsProtectionEventListener errorListener, String& packagePassword)
       場所 Microsoft.SqlServer.Dts.ObjectExplorerUI.ImportPackageAsAction.ImportPackage(ImportPackageAsForm dlg)

    ===================================

    エラー 0xC0010014 "1 つ以上のエラーが発生しました。このエラーの前により具体的なエラーが発生していて、そのエラーで詳細が説明されています。このメッセージは、エラーの原因となった関数からの戻り値として使用されます。" により、パッケージを読み込めませんでした。このエラーは、CPackage::LoadFromXML が失敗した場合に発生します。


    ------------------------------
    プログラムの場所:

       場所 Microsoft.SqlServer.Dts.Runtime.Wrapper.ApplicationClass.LoadPackage(String FileName, Boolean loadNeutral, IDTSEvents100 pEvents)
       場所 Microsoft.SqlServer.Dts.Runtime.Application.LoadPackage(String fileName, IDTSEvents events, Boolean loadNeutral)

     ---------------

    詳細ログ終わり

    どのようなところを対処し進めていけばよいのか見当がついていません。

    クライアント上のVisual Studio 2012上であればデバック実行は問題なく完了し、処理結果を処理対象のサーバー内のSQL Serverのテーブルで見ることもできています。
    あとは、パッケージ化して毎日の夜間バッチ処理に回す…。という直前だと思っています。

    何かヒントをいただけないでしょうか。

    2012年6月8日 14:33

回答

  • SQLServer2008R2(もしくは2012)の環境で作成したパッケージをSQLServer2008の環境で
    動作させたいということでしょうか?
    であれば、互換性の問題で動かない可能性が十分考えられますね。
    (やったことないので、はっきりと言えませんが)
    DTSXファイルはXMLファイルなので、対応SQLServerのバージョン依存の情報が含まれています。
    SQLServer2008の方が古いバージョンなので、SQLServer2008R2のバージョンに関する情報を
    理解できませんから、XMLの読み込み時にエラーとなるのもうなずけます。

    尚、異なる環境で動作させる場合、一部デフォルト動作が変更されていることがあるので注意が必要です。
    http://msdn.microsoft.com/ja-jp/library/ms143706(SQL.105).aspx

     


    ---------------------------------
    Infospire Kayano

    2012年6月13日 10:32

すべての返信

  • SQLServer2008R2(もしくは2012)の環境で作成したパッケージをSQLServer2008の環境で
    動作させたいということでしょうか?
    であれば、互換性の問題で動かない可能性が十分考えられますね。
    (やったことないので、はっきりと言えませんが)
    DTSXファイルはXMLファイルなので、対応SQLServerのバージョン依存の情報が含まれています。
    SQLServer2008の方が古いバージョンなので、SQLServer2008R2のバージョンに関する情報を
    理解できませんから、XMLの読み込み時にエラーとなるのもうなずけます。

    尚、異なる環境で動作させる場合、一部デフォルト動作が変更されていることがあるので注意が必要です。
    http://msdn.microsoft.com/ja-jp/library/ms143706(SQL.105).aspx

     


    ---------------------------------
    Infospire Kayano

    2012年6月13日 10:32
  • 返信が遅れて申し訳ないです。

    ご回答ありがとうございました。

    バージョン間互換性がないということで、次回再構成時にバージョンを合わせて、試してみたいと思います。

    バージョンの関係はその通りだと思います。新しいものであれば古いものに互換があると考えたのですが、
    環境の巻き戻しが大分難しい状況になってしまいました。(かつ、2008R2、2012、どちらが適用されているかも判定できていません。)

    古いSQL Serverの開発キットを入れようとして試していたのですが、
    これにかかることができない状況となってしまいましたので、いったん閉めさせてください。

    SQL 2012サーバー等を作成できたタイミングなどで試そうと思っています。

    2012年8月21日 5:35