ホームページ >データベース >mysql チュートリアル >一時テーブルからメタデータを取得するときに SSIS パッケージが失敗するのはなぜですか?
一時テーブルによる 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 サイトの他の関連記事を参照してください。