将 Excel 文件导入 SQL 服务器时执行 SQL 任务
Execute SQL task while importing Excel file to SQL server
我正在使用 SSIS 将数据从 Excel 电子表格导入 SQL 数据库。我有这个工作。我使用数据流任务从 Excel 导入,然后移动到 OLE DB 目标。
但是,我想在移动之前使用 SQL 查询添加一个包含当前日期(即导入数据库的日期)的列。我唯一可以执行 SQL 任务的地方是在控制流 window 中,我不确定该把它放在哪里。如果我在数据流任务之前 运行 SQL,将不会有一个 Excel 文件可以处理,但是如果我 运行 在 SQL 之后数据流任务,文件已经导入数据库
我应该在流程中的什么位置插入 SQL 任务?或者我应该使用两个数据流任务和 运行 它们之间的 SQL 任务?
我想我有办法了。我保持 SSIS 解决方案不变,而是在 SQL 服务器中使用触发器插入当前日期,当有问题的 table 发生变化时。
您可以使用派生列在现有数据流中添加日期列,而不是使用单独的 SQL 任务。
如果你走这条路,你最终会得到类似于 的结果。
您可以通过两种方式做到这一点 -
1) 可以在SSIS数据流任务中添加派生列
2) 您可以将默认值作为 getdate() 分配给日期列而不是触发器。
我正在使用 SSIS 将数据从 Excel 电子表格导入 SQL 数据库。我有这个工作。我使用数据流任务从 Excel 导入,然后移动到 OLE DB 目标。
但是,我想在移动之前使用 SQL 查询添加一个包含当前日期(即导入数据库的日期)的列。我唯一可以执行 SQL 任务的地方是在控制流 window 中,我不确定该把它放在哪里。如果我在数据流任务之前 运行 SQL,将不会有一个 Excel 文件可以处理,但是如果我 运行 在 SQL 之后数据流任务,文件已经导入数据库
我应该在流程中的什么位置插入 SQL 任务?或者我应该使用两个数据流任务和 运行 它们之间的 SQL 任务?
我想我有办法了。我保持 SSIS 解决方案不变,而是在 SQL 服务器中使用触发器插入当前日期,当有问题的 table 发生变化时。
您可以使用派生列在现有数据流中添加日期列,而不是使用单独的 SQL 任务。
如果你走这条路,你最终会得到类似于 的结果。
您可以通过两种方式做到这一点 -
1) 可以在SSIS数据流任务中添加派生列
2) 您可以将默认值作为 getdate() 分配给日期列而不是触发器。