使用 SSIS 包将日期时间戳列添加到最终目标表
Posted
技术标签:
【中文标题】使用 SSIS 包将日期时间戳列添加到最终目标表【英文标题】:Add Datetime Stamp Column to End Destination Table using SSIS Package 【发布时间】:2020-06-10 19:21:33 【问题描述】:我有一个 SSIS 包,可将 CSV 文件导入数据库,并且在将新行附加到表底部并且目标中没有 datetime
列时,该包将每天运行表。
我想要做的是在目标表中创建一个新的date
/timestamp
,并且每次加载数据时我都希望该表反映来自数据库Timestamp
的加载时间。
我不确定如何实现这一目标。
【问题讨论】:
【参考方案1】:如果您将插入标记添加到默认为 getdate 的表中,数据库将为您处理:
alter table destionationtable add [InsertStamp] [DATETIME] NOT NULL CONSTRAINT [DF_Insert] DEFAULT (GETDATE())
【讨论】:
【参考方案2】:更改您的目标表以包含新列,并使用您选择的日期时间函数的默认值。
ALTER TABLE DataDest
ADD CreateDate DATETIME
CONSTRAINT DF_DataDest_CreateDate DEFAULT (GETDATE());
在您的包中,您可能需要打开数据流中的目标对象以获取表的新元数据,然后您必须单击“映射”选项卡,因为 SSIS 必须是像那样。新列应该会显示在那里,但您不需要对它做任何事情,只要确保 SSIS 知道它就在那里。
在您的插入操作期间,SSIS 不会加载该列,并且将为您填充当前日期时间的默认值。
【讨论】:
以上是关于使用 SSIS 包将日期时间戳列添加到最终目标表的主要内容,如果未能解决你的问题,请参考以下文章
动态 SSIS 包将 N 个表从 Oracle 加载到 SQL
如何遍历 Excel 文件并使用 SSIS 包将它们加载到数据库中?