Я хочу обновить таблицу, используя пакет SSIS, каждый раз, когда пользователь запускает отчет, построенный из построителя отчетов 3.0, поэтому я создал задание SSIS и вызываю sp_start_job
из построителя отчетов в качестве хранимой процедуры для вызова этого задания.Как обеспечить сохранение хранимых процедур перед созданием набора данных в построителе отчетов 3.0?
Все это прекрасно работает, но отчет не дожидается завершения задания перед заполнением набора данных (я могу сказать, потому что у меня есть столбец «последний обновленный дата» в моей таблице).
Есть ли способ убедиться, что работа заканчивается, прежде чем данные будут загружены в сам отчет?
Edit: Так что я решил попробовать позвонить работу и ждать до SELECT
заявления, как это:
USE msdb;
EXECUTE dbo.sp_start_job N'CUBE - IS Inventory Report Refresh'
WAITFOR DELAY '00:00:25'
USE OtherDatabase;
SELECT ...
но метка времени все еще показывает старую дату. Задание SSIS выполняется за 17 секунд (из журналов истории), поэтому ждать 25 секунд, прежде чем я выберу из таблицы, должно быть много ... кто-нибудь знает, почему это происходит?
При запуске запроса в Management Studio, таблица возвращается показывает правильную метку времени, поэтому я думаю, что это может быть проблемой Report Builder (?)
Пользователям нужен способ получить обновленные данные из списка SharePoint, из которого основан отчет. Из-за сложности отчета и из-за того, что я слышал, что это не очень хорошая практика, касаться непосредственно таблиц SharePoint, я решил, что лучший способ сделать это - импортировать его в таблицу и сделать некоторую магию T-SQL для массаж данных. – confusedKid
Не уверен, что я действительно хочу опросить таблицы рабочих столов, но из любопытства, как бы вы это сделали в построителе отчетов? – confusedKid
Мое предположение о том, как вы реализовали это процесс, который запускает задание агента, также возвращает данные пользователю? Учитывая это предположение, это будет цикл while между шагом 'EXECUTE msdb.dbo.sp_start_job somejob' и оператором select, который фактически возвращает данные. – billinkc