【问题标题】:Import CSV to Microsoft SQL Server 2014 Wizard将 CSV 导入 Microsoft SQL Server 2014 向导
【发布时间】:2015-11-19 13:59:49
【问题描述】:

我有一个非常简单(但很大)的CSV 文件,我想将它导入到我在Microsoft SQL Server 2014 中的数据库(数据库/任务/导入数据)。但我收到以下error

转换返回状态值 2 和状态文本“由于可能丢失数据,无法转换该值”。

这是我的CSV 文件的示例(包含约 900 万行):

1393013,297884,'20150414 15:46:25'
1393010,301242,'20150414 15:46:58'

理想情况下,我的第一列和第二列是 big-int,第三列是 datetime。在向导中,我为前两个选择“无符号 8 字节整数”,为第三个选择 'timestamp',我收到错误消息。即使我尝试将所有三列的字符串用作数据类型,但仍然收到相同的错误。

我也尝试在命令行中使用bcp 命令。它不会出错,也不会插入任何内容!也使用"bulk insert" 命令错误我:

the column is too long! verify your terminators

但它们已正确修复!

感谢您提出的解决这个看似简单的问题的任何想法。

【问题讨论】:

    标签: sql-server csv import


    【解决方案1】:

    您正在尝试更改输入类型:无符号 8 字节整数是源上的设置。 您根本不需要更改源设置。 'string [DT_STR]' 和默认长度 50 将起作用。

    'timestamp' 是二进制类型。我相信您所追求的类型是日期时间,但该集合位于目的地,而不是来源。无论如何,源仍然是一个字符串。

    您仍然无法将日期值作为日期时间数据类型导入。 这会起作用(添加破折号)-> 2015-04-14 15:46:25。将您拥有的内容作为字符串导入并在导入后修复它,除非您可以更改文本文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-04
      • 2012-04-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多