首页 > 解决方案 > SSIS 将 ADO Net 源聚合到 SQL Server 数据库中

问题描述

我有一个 ADO .Net 源,我试图按日期插入行数的摘要。

源表有超过十亿行。我只想总结本月的行数。

此查询产生我想要的输出。将 2 列插入 SQL Server 数据库的最佳方法是什么?

SELECT
    g.[ActivityDate], COUNT(*) RecCount
FROM 
    [lab10].[ADONETSource_Integrated] g
JOIN
    vPublic.DimDate AS D ON g.activityDate = d.FullDate
WHERE
    d.FullDate >= CAST(DATEADD(d, (DATEPART(d, DATEADD(m, 0, GETDATE())) * -1) + 1, DATEADD(m, -0, GETDATE())) AS DATE) 
GROUP BY
    g.[ActivityDate]
ORDER BY 
    g.[ActivityDate] DESC

INSERT INTO dbo.OLEDB_Inegrated (activityDate, RecCount)

标签: sql-serverssisazure-sql-databasessis-2012

解决方案


您可以将源结果直接连接到 SSIS 中的目标表插入数据。

我使用以下步骤复制了带有示例数据的包。

  1. 创建具有源和目标的数据流。

在此处输入图像描述

  1. 将源连接到 ADO.NET 源表并在 SQL 命令下构建您的查询。(预览测试结果)。

在此处输入图像描述

  1. 通过连接源和目标来创建目标表连接并将源映射到目标列。

在此处输入图像描述

  1. 执行数据流。

在此处输入图像描述

在此处输入图像描述

参考:将数据加载到 SQL 数据库中


推荐阅读