SSIS 将 ADO Net 源聚合到 SQL Server 数据库中
Posted
技术标签:
【中文标题】SSIS 将 ADO Net 源聚合到 SQL Server 数据库中【英文标题】:SSIS Aggregate ADO Net source into SQL Server database 【发布时间】:2021-10-06 10:42:42 【问题描述】:我有一个 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)
【问题讨论】:
如果这是在同一个数据库中,我认为“最佳方法”是在数据库中简单地运行insert/select
。这些表是否在同一个数据库中?
【参考方案1】:
您可以将源结果直接连接到 SSIS 中的目标表插入数据。
我使用以下步骤复制了带有示例数据的包。
-
创建了一个包含源和目标的数据流。
-
将源连接到 ADO.NET 源表并在 SQL 命令下构建查询。 (预览测试结果)。
-
创建目标表连接并通过连接源和目标将源映射到目标列。
-
执行数据流。
参考:Load data into SQL Database
【讨论】:
以上是关于SSIS 将 ADO Net 源聚合到 SQL Server 数据库中的主要内容,如果未能解决你的问题,请参考以下文章
使用 ssis 从 SQL Server 表复制到 Oracle 11g