如何在SSIS脚本中的日期范围内提取数据

时间:2017-09-01 18:25:52

标签: sql-server visual-studio-2012 ssis

我使用SSIS连接到SQL Server数据库并将表拉入另一个SQL Server数据库。使用Visual Studio 2013管理SSIS脚本。

我需要提取的一个表格很大,所以我只想提取大于日期范围的数据。即:2016年1月1日及更新的数据。 我如何通过SSIS做到这一点?我觉得应该有一个地方可以添加一个' Where'条款或等同于该条款。

链接两个数据库是否更容易,但出于安全考虑,我不确定这是否是一个选项。

任何见解都会很棒。 谢谢!

2 个答案:

答案 0 :(得分:0)

您可以在没有脚本的情况下执行此操作。创建数据流并通过sql命令设置源或创建存储过程来处理过滤。以下是使用sql命令的示例

enter image description here

然后创建目的地并将源列映射到目的地。

另一种选择是将数据访问模式设置为变量。有了这个,你可以通过变量构建sql查询,并使用变量表达式使日期过滤器动态化。

我通常使用存储过程并传入参数进行过滤,但如果你刚开始使用ssis,我会首先尝试其他两个选项。

答案 1 :(得分:0)

试试吧

  • 使用数据流任务
  • 将源作为OLE DB源配置为数据访问模式作为SQL命令或SQL命令来自变量(您可以参数化两者)
  • 添加OLE DB目标,将数据访问模式配置为表或 view - 快速加载和每批次行数和最大插入提交大小 100000(你需要测试以满足你的需要)