【问题标题】:Day and Year got swapped SSIS and SQL Server日和年交换了 SSIS 和 SQL Server
【发布时间】:2018-12-23 08:00:11
【问题描述】:

我在 SSIS 和 SQL Server 之间遇到了奇怪的问题。

我开发了 SSIS 来读取 CSV 平面文件并将文件上传到 SQL Server。一切都运行良好且完美。奇怪的问题是,在 SSIS 正在导入的 1000 条记录中,有 200 条记录存在日期问题,其中日期数据被交换,日期代替了年份,年份代替了日期。

这是一个完美行和问题行的例子

完美行:

2018-12-17 09:05:00.000

有问题的行:

2017-12-18 09:05:00.000

任何人遇到同样的问题或知道如何解决,请协助。

谢谢

【问题讨论】:

    标签: sql-server ssis datetime-format


    【解决方案1】:

    只需尝试在加载到 ssis 中的表时转换日期格式/加载到表后只需使用后端的转换函数将记录更新为适当的日期时间格式。

    从某种意义上说,在 Csv 本身中,混合格式只是将其推入暂存表并拆分有问题的记录并更正源数据。

    【讨论】:

    • 感谢 Mani 的回复。手动转换工作正常。但我正在寻找一个没有人为干预的永久性修复..
    • 你检查过源文件吗?你在ssis和sql中使用了什么数据类型?
    • 感谢我找到了解决方案。问题是 csv 文件正在读取 PC 格式,我已将格式设置为 dd-mm-yyyy 而不是 dd-mm-yy。
    • 太棒了。你用过表达式来改变格式或在sql代码中吗?
    【解决方案2】:

    以下步骤支持我解决问题:

    1. 设置PC格式为dd-mm-yyyy hh:mm:ss
    2. 打开 CSV 文件并尝试展开有问题的列。
    3. 关闭 CSV 文件并保存更改。

    并运行 SSIS。

    希望对你也有帮助

    猜你喜欢
    • 1970-01-01
    • 2019-10-26
    • 2020-04-24
    • 2018-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多