親プロシージャから宛先テーブルと列のリストを取得し、宛先テーブルをロードするストアド プロシージャがあります。すべてがproc自体で行われます。proc の読み込み部分を SSIS パッケージに変換するにはどうすればよいですか。これは、挿入を行う proc の部分です。
SET @sql_query = 'TRUNCATE TABLE [snaps].' + QUOTENAME(@table_dst)
EXEC (@sql_query)
--Build the query to load from SQL Server source.
IF @src_type = 'sql_server'
SET @sql_query = 'INSERT INTO [snaps].' + QUOTENAME(@table_dst) + ' (' + @columns_dst_real + ') '
+ 'SELECT ' + @columns_dst_converted + ' '
+ 'FROM ' +
+ '(' +
+ 'SELECT [' + REPLACE(REPLACE(@columns_src, '''', ''''''), ',', '],[') + '] '
+ 'FROM ' + ISNULL(QUOTENAME(NULLIF(@link,'')) + '.', '') + ISNULL(QUOTENAME(NULLIF(@database,'')) + '.', '') + ISNULL(QUOTENAME(NULLIF(@schema,'')) + '.', '') + QUOTENAME(@table_src) + ' WITH (NOLOCK)'
+ ISNULL(' WHERE ' + @where_clause, '') +
+ ') a'
--Build the query to load from Oracle source.
ELSE IF @src_type = 'oracle'
SET @sql_query = 'INSERT INTO [snaps].' + QUOTENAME(@table_dst) + ' (' + @columns_dst_real + ') '
+ 'SELECT ' + @columns_dst_converted + ' '
+ 'FROM OPENQUERY(' + QUOTENAME(@link) + ', '''
+ 'SELECT ' + REPLACE(@columns_src, '''', '''''') + ' '
+ 'FROM ' + @schema + '.' + @table_src
+ ISNULL(' WHERE ' + REPLACE(@where_clause,'''',''''''), '') + ''')'
--Build the query to load from a query source.
ELSE IF @src_type = 'pass_query'
SET @sql_query = 'INSERT INTO [snaps].' + QUOTENAME(@table_dst) + ' (' + @columns_dst_real + ') '
+ 'SELECT ' + @columns_dst_converted + ' '
+ 'FROM OPENQUERY(' + QUOTENAME(@link) + ', ''' + REPLACE(@query_src,'''','''''') + ''')'