SSIS初心者はこちらです。ssis temp table exec proc
ウィザードに基づいて作成したSSISパッケージがあります。私は以前に別々に実行していたスクリプトを実行して、プロセスを1ステップに減らすためにSQLタスクを追加しました。このスクリプトは、多くの一時テーブルと最後に1つのグローバル## tempを使用して、プロセスの外部で結果にアクセスできるようにします。
パッケージを実行しようとすると、複雑な「パッケージ検証エラー」(エラーコード0x80040E14)が表示されます。私はエラーメッセージの操作部分は "無効なオブジェクト名 '## roster5'だと思う"
エラーをスローしていたデータフロータスクであることがわかりました。データフロータスクでテーブルが存在することがわかるように、ほかのSQLタスクを作成する前に別のSQLタスクを作成しようとしました。しかし、それでも私に次のエラーが表示されています: "無効なオブジェクト名 '## ROSTER_MEMBER_NEW5'。"
何が間違っていますか/間違っていますか?私は私が知らないことを知らない。これは複雑ではありませんように思えます(初心者の方であれば、これは恐らく何かの複製ですが、他にどのように質問するかは分かりません)。
これにはいくつかの解決策があります。まず、## roster5、## roser)member_news5にいくつの行があるか教えてください。 – plditallo
oops、## roster5はフルネームの略です。スクリプトによって約500万行が作成されています – hmmmmm
#tempテーブルをテーブル変数(たとえば@temptable)に変換する方法があります。オプティマイザは、変数tableを、パフォーマンスに影響を与える単一の行を持つテーブルとして扱います。 set frmt off(https://stackoverflow.com/questions/1579476/using-temp-tables-in-ssis)などの他の提案も表示されます。これもパフォーマンスに影響を与えます。私は、識別可能なスキーマを持つステージングテーブルを作成し、それを移植し、その後切り捨てるときに使用します。 – plditallo