2015-10-15 1 views
-1

У меня есть «Измененная колонка даты» в исходной таблице, и мне нужно извлечь последние данныеКак извлечь только последние данные из исходной таблицы в SSIS?

Последние данные - Данные в дату между недавним исполнением пакета SSIS до даты (Текущая дата исполнения).

Как это можно получить в SSIS?

+1

Я вижу, что вы также задали этот вопрос на Expert-Exchange. Пожалуйста, работайте с предоставленными комментариями. http://www.experts-exchange.com/questions/28744363/How-to-extract-only-the-recent-data-from-a-source-table-in-SSIS.html –

+0

Как вы определяете «недавние исполнение?» Имеет ли значение, если последнее исполнение закончилось неудачей? – billinkc

ответ

1

Вы можете добиться этого, используя SQL Task, чтобы получить последнюю дату выполнения из журнала заданий в базе данных msdb и сохранить ее в переменной.

Вы можете использовать этот запрос

USE msdb 
GO 

DECLARE @JobName AS varchar(50) 
--Put the name of the job that runs package 
SET @JobName = 'UpdateFactura' 

SELECT 
    MAX(DBO.AGENT_DATETIME(RUN_DATE, RUN_TIME)) AS [Last Time Job Ran On] 
FROM dbo.SYSJOBS SJ 
LEFT OUTER JOIN dbo.SYSJOBHISTORY JH 
    ON SJ.job_id = JH.job_id 
WHERE JH.step_id = 0 
AND jh.run_status = 1 
AND Sj.name = @JobName 
GROUP BY SJ.name, 
     JH.run_status 
ORDER BY [Last Time Job Ran On] DESC 
GO 

В SQL Task установлен один результат и отобразить результат переменной. Теперь вы можете использовать переменную для извлечения измененных данных из последнего выполнения пакета.

Дайте мне знать, если это было полезно.

+0

Awesome спасибо, что он работал ....... –

+0

@GowthamRamamoorthy Nice !. Вы можете выбрать мой ответ как ** правильный ответ ** или ** забрать **, если это было полезно. –

+0

Я попытался его проголосовать .. но у меня нет достаточного количества баллов, чтобы это сделать ... –