Я получаю следующую ошибку, хотя я дал с набором результатов динамический c SQL. Тем не менее, он просит то же самое.
Доступна запись OLE DB. Источник: «Microsoft SQL Собственный клиент сервера 11.0» Hresult: 0x80004005 Описание: «Не удалось определить метаданные, так как оператор« EXE C sp_execute sql @ Exe cSQL »содержит Dynami c SQL. Рассмотрите возможность использования предложения WITH RESULT SETS для явного описания результирующего набора. ".
Ошибка: 0xC0202080 при входном файле Файл CSV - поток, команда OLE DB 1 [281]: невозможно получить описания столбцов назначения из параметров команды SQL.
Приведенный ниже код отлично работает в MS SQL Management Studio Query. Но это дает ошибку в SSIS
DECLARE @tablename nvarchar(200), @tablevalue nvarchar(1)
SELECT @tablename =CAST(FLOOR(RAND()*(100000-5+1)+5) as nvarchar)
Select @tablevalue='0'
DECLARE @ExecSQL NVARCHAR(max)
SET @ExecSQL = 'SELECT d.tablename, d.tablevalue INTO mws_ssis_cust_senti_integration'+ @tablename+
+ ' from ( select ''' + 'mws_ssis_cust_senti_integration' + @tablename + ''' as tablename, ''' + @tablevalue + ''' as tablevalue ) as d '
EXEC sp_executesql @ExecSQL
Set @tablename = N'mws_ssis_cust_senti_integration'+ cast(@tablename as nvarchar)
Set @ExecSQL = 'select * from ' + @tablename
EXEC sp_executesql @ExecSQL
WITH RESULT SETS
(
(
tablename varchar(max), tablevalue varchar(1)
)
)