【问题标题】:SQL Server import - smalldatetime errorSQL Server 导入 - smalldatetime 错误
【发布时间】:2016-02-09 15:10:32
【问题描述】:

我正在尝试通过内置的导入/导出向导将数据从 CSV 文件导入现有的 SQL Server 表,但是无论我如何格式化 CSV 中的日期/时间,向导都会引发错误:

错误 0xc020901c:数据流任务 1:目标 - 租户.输入 [目标输入] 上的目标 - 租户.输入 [目标输入].列 [租户开始日期] 出现错误。返回的列状态是:“该值违反了列的完整性约束。”。 (SQL Server 导入导出向导)

这就是现有数据在所述列中的实际显示方式,但即使我将其复制并粘贴到 CSV 中,它仍然会报错!

2007-01-01 00:00:00

我需要做什么才能使导入向导成功地将我的日期/时间列转换为小日期/时间?

【问题讨论】:

  • 您的表列 TenancyStartDate 是否包含 NULL 并且您的表列是否接受 NULL?
  • 它不接受 NULL 但我不想在 CSV 中给它 NULL。
  • 您可以使用临时表,将所有数据作为 VARCHAR 引入,然后清理数据并将其插入目标表中。
  • 在出错之前它是否读取了任何行?
  • 您确定 CSV 的末尾没有空行或类似的内容?

标签: sql sql-server csv import smalldatetime


【解决方案1】:

根据您的描述,问题很可能是空值。如果没有任何您可以明显看到的内容,则值得检查 CSV 的最后是否有空白行。这些很容易被忽略,并且会导致为每个空白行的每一列加载一个空值。 (我相信您通常可以在最后一个数据行的末尾使用一个回车符。)

【讨论】:

    猜你喜欢
    • 2021-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-27
    • 2011-01-20
    • 1970-01-01
    • 2014-10-13
    • 2010-12-27
    相关资源
    最近更新 更多