ホームページ > データベース > mysql チュートリアル > 一時テーブルからメタデータを取得するときに SSIS パッケージが失敗するのはなぜですか?

一時テーブルからメタデータを取得するときに SSIS パッケージが失敗するのはなぜですか?

Mary-Kate Olsen
リリース: 2024-12-29 05:13:10
オリジナル
705 人が閲覧しました

Why Does My SSIS Package Fail When Retrieving Metadata from Temporary Tables?

一時テーブルによる SSIS パッケージのメタデータ取得エラー

SSIS では、一時テーブルからメタデータを取得すると、パッケージが次のエラーで失敗することがあります。エラー: 「不明なエラー。OLE DB レコードが利用可能です。ステートメント 'select のため、メタデータを特定できませんでした」 * '##TmpMcsConfigurationDeviceHistory86B34BFD041A430E84CCACE78DA336A1'' は一時テーブルを使用しています。

この問題は、パッケージが "##TmpMcsConfigurationDeviceHistory" という名前のグローバル一時テーブルにアクセスしようとすると発生します。このエラーは、SSIS が一時テーブルのメタデータを動的に決定できないことを示しています。

解決策

この問題を解決するには、一時テーブルのメタデータを明示的に定義できます。 WITH RESULT SETS 句を使用してテーブルを作成します。これにより、SSIS に必要な情報が事前に提供されるため、一時テーブルのエラーにつながる可能性があるメタデータを動的に決定する必要がなくなります。

WITH RESULT SETS を使用したサンプル クエリ:

EXEC ('
    CREATE TABLE #a 
      (
        MyIntegerColumn INT NOT NULL,
        MyTextColumn VARCHAR(50) NULL,
        MyOtherColumn BIT NULL
      ) 
    INSERT INTO #a 
      (
        MyIntegerColumn,
        MyTextColumn,
        MyOtherColumn
      )
    SELECT 
        1 AS MyIntegerColumn,
        ''x'' AS MyTextColumn,
        0 AS MyOtherColumn

    SELECT MyIntegerColumn, MyTextColumn, MyOtherColumn
    FROM #a')

WITH RESULT SETS
    (
        (
            MyIntegerColumn INT NOT NULL
           ,MyTextColumn VARCHAR(50) NULL
           ,MyOtherColumn BIT NULL
        )
    )
ログイン後にコピー

メタデータを明示的に提供することで、SSIS は一時テーブルからメタデータを動的に取得することを回避し、エラーを排除し、パッケージがメタデータをフェッチできるようにします。成功しました。

以上が一時テーブルからメタデータを取得するときに SSIS パッケージが失敗するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート