テーブルを動的に生成して、DBに突っ込む方法。
#SSISパッケージの作り方
- スクリプトタスクを追加する。
- ユーザー変数にObject型の変数を追加する。
- スクリプトタスク内でRecordSetを生成し、ユーザー変数に代入
- Foreach ループ コンテナー追加し、ADO型で用意したユーザー変数から値をとる。
- ループ内にSQL実行タスクを追加し、DBにINSETする。
RecordSet内のカラムで、ADODB.DataTypeEnum.adVarChar型の変数にNULLが入っていると次のエラーが。
取り急ぎ空文字を入れて回避した。
変数 "User::XXXXX" に代入されている値の型 (DBNull) が、現在の変数の型 (String) と異なります。変数の型は実行中に変更できません。変数の型は厳密に一致している必要があります。ただし、オブジェクト型の変数は除きます。
コチラのサイトに、データフロータスクのソースにスクリプト コンポーネントを利用する方法が記載されているので参考にされたし。
https://www.timmitchell.net/post/2015/04/20/using-the-ssis-object-variable-as-a-data-flow-source/