У меня есть скрипт ниже, который является хранимой процедурой, теперь эта хранимая процедура вызывалась из пакета служб SSIS. Теперь я не хочу вызывать его в пакетах служб SSIS, я хочу взять сам скрипт и поместить его в процесс пакета служб SSIS, который называется «Выполнение задачи SQL». У меня проблема в том, что эта хранимая процедура имеет переменные, и я никогда не использовал скрипт в пакетах служб SSIS с переменными. Как мне изменить скрипт, чтобы он подходил для пакетов SSIS?
То, что я пробовал раньше, было не таким уж большим, поскольку у меня нет сведений о переменных в пакетах служб SSIS. Я буду рад вашей помощи в этом.
Declare @cmd varchar(max), @dateStart as date, @dateEnd as Date,
@dsTxt as char(10), @deTxt as char(10), @YM as char(6)
set @dateStart = CONVERT(VARCHAR(25), DATEADD(dd,-(DAY(DATEADD(mm, 1, getdate())) - 1), DATEADD(mm, -1, getdate())), 120)
set @dsTxt = @dateStart
set @dateEnd = CONVERT(VARCHAR(25), DATEADD(dd, -(DAY(getdate()) - 1), getdate()), 120)
set @deTxt = @dateEnd
set @YM = cast(year(@dateStart) as char(4)) + case when len(cast(month(@dateStart) as char(2))) = 1 then '0'+ cast(month(@dateStart) as char(2)) else cast(month(@dateStart) as char(2)) end
print @dateStart
print @dsTxt
print @datEend
print @deTxt
print @YM
truncate table tablename1
--delete from dbo.Wasp_CDR
set @cmd = '
insert into tablename1
SELECT *
FROM OPENQUERY (M_yea, ''SELECT column1,column2
From tablename2
where (column1 like ''''SMSZ%'''' or column2 like ''''08%'''')
and column3 = ''''SMS'''' and column4 = ''''MO''''
and to_char(date, ''''YYYYMM'''') = ''''' + @YM + ''''''');'
--print @cmd
exec (@cmd)
Я ожидаю, что найду способ узнать о сценариях с переменными в пакетах служб SSIS.