【发布时间】:2021-09-08 03:29:42
【问题描述】:
我创建了一个SSIS 包,它从 Excel 文件中提取数据并将结果输出到我数据库中的表中。
由于这个包每天都会运行,我只需要提取当天输入的那些记录。因此,我在Data Flow 中添加了Conditional Split。
当我在 Visual Studio 中运行“调试”时,我的包运行良好,并且显示为“成功”。但是,我的 SQL Server 表中没有记录。
我假设我在“条件拆分”级别做错了什么。
我在“条件拆分转换编辑器”中的“条件”如下所示:
date == GETDATE()
“日期”是指 Excel 文件中的一列,其中日期已按以下格式输入:2021-06-24
如果您能帮我找出问题,我将不胜感激。
【问题讨论】:
-
GETDATE()返回DT_DBTIMESTAMP,因此精确到 1/300 秒。我怀疑您正在导入的数据是在您尝试导入它的确切时间生成的。在比较之前,您可能需要将该值转换为DT_DATE。 -
数据中没有时间组件。仅 YYYY-MM-DD。我的意思是日期列已经在 Excel 中这样格式化。
-
“数据中没有时间组件。” 但是
GETDATE()有。2021-06-24 17:24:59:693和2021-06-24是不相同的值。 -
@Larnu 谢谢。 date == (DT_DBDATE)(GETDATE()) 成功了!
标签: sql sql-server ssis conditional-split