每次用户运行由 Report Builder 3.0 构建的报表时,我都想使用 SSIS 包刷新表,因此我创建了一个 SSIS 作业并sp_start_job
从 Report Builder 调用作为存储过程来调用此作业。
这一切都很好,但是报告在填充数据集之前不会等待工作完成(我可以说是因为我的表中有一个“上次刷新日期”列)。
有没有办法确保在数据加载到报告本身之前完成工作?
编辑:所以我决定尝试调用工作并在这样的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 问题(?)