首页 > 解决方案 > 如何通过ssis包加载N条记录?

问题描述

我必须通过 SSIS 包将三天的数据从源服务器加载到目标服务器。我数了一下,三天的总记录在31000左右。

在此处输入图像描述

在源表中,我使用以下 sql 查询:-

选择 id ,customer_id ,deleted_date ,lc_contact_date ,lc_lead_date ,lc_customer_date ,is_blacklisted_date ,modified_date ,modified_by ,cd_mdm1 ,cd_mdm2 ,cd_mdm3 ,cd_mdm4 ,cd_mdm5 from customer_dates WHERE (modified_date > '2018-05'-25_date <323: CURRENT_DATE-1) ;

将数据发送到目标表。

查询是正确的,它有大约 31000 个计数。但是错误是在使用包时它没有将数据从源传输到目标。如果我使用 600 左右的限制,即下面的查询它工作正常。选择 id ,customer_id ,deleted_date ,lc_contact_date ,lc_lead_date ,lc_customer_date ,is_blacklisted_date ,modified_date ,modified_by ,cd_mdm1 ,cd_mdm2 ,cd_mdm3 ,cd_mdm4 ,cd_mdm5 from customer_dates WHERE (modified_date > '2018-05'-25_date <323: CURRENT_DATE-1) 限制 600;

谁能帮我找出我必须嵌入到 ssis 包中的设置或任何东西?

标签: sql-serverssisssis-2012ssis-2008

解决方案


我使用 SSIS 加载了数百万行 - 工具中没有行限制。

我最好的猜测是数据转换组件中的某些内容无法转换,这导致包出错。

确认 * 删除现有的数据查看器(可选) * 将派生列添加到现有数据转换组件的错误路径 * 在数据转换和派生列之间添加数据查看器。

现在,所有失败的行都将被定向到您的查看器。此时,您可以确定行无法指定转换的原因,然后根据需要清理它们。


推荐阅读