【问题标题】:SSIS Flat file import - rolling dataSSIS平面文件导入-滚动数据
【发布时间】:2013-05-02 09:12:17
【问题描述】:

我需要每小时将一个平面文件导入数据库表,但是文件本身会由应用程序不断更新(文件没有锁定,所以没问题)。我需要的是确保我只导入最后一小时的最新数据。

所以我需要确保表中没有重复数据,并且只引入该小时的数据。希望这是有道理的!哦,遗憾的是没有办法将日志文件更改为每小时创建一个!

谢谢

【问题讨论】:

  • 平面文件中是否有任何日期列指定更新时间?
  • 是的,有记录新记录的日期时间。你认为我可以从表中做一个最大日期,只更新记录更大的地方吗?
  • 在 SSIS 中创建一个变量为 LastRunDate 。在平面文件源使用溢出转换并检查是否 FlatFlitDate >= LastRunDate 。如果目标中也有 date time 列,则填充 @987654324 的值@来自本专栏。

标签: ssis flat-file


【解决方案1】:

你可以试试最大日期。

或者类似的东西。

第一步删除最新数据:

DELETE FROM [DATABASE].[dbo].[TABLE]
WHERE [DATE] > DATEADD(hour, -1, GETDATE())

然后

更新:

SELECT * FROM [DATABASE].[dbo].[TABLE]
WHERE [DATE] > DATEADD(hour, -1, GETDATE())

因此,您删除了最新的数据,然后再次从那里加载所有内容。

HTH

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-18
    相关资源
    最近更新 更多