【问题标题】:SSMS Data Import Data Truncated Error mESSAGESSMS 数据导入数据被截断错误消息
【发布时间】:2021-03-08 18:07:25
【问题描述】:

我正在尝试将一个州的选民登记 csv 文件导入 SSMS。正如预期的那样,它是一个相当大的文件,每次我尝试导入它时,我都会收到一个错误,即列的数据转换返回状态值 4 和状态文本“文本被截断或一个或多个字符在目标代码页中不匹配。”

这发生在多个不同的列上,我尝试在数据源高级设置中更改长度,我已将 DataType 更改为 Unicode 字符串 [DT_WSTR],并尝试将映射更改为 nvarchar 而不是 varchar,似乎没有任何工作。每次我尝试运行它时,我都会收到相同的错误消息。这不是导致问题的特定列,因为我删除了除一列之外的所有内容,但仍然出现错误。

我注意到这个文件中的所有内容都被双引号 "" 我不确定这是否会影响错误。如果是这样,我不确定如何将其更改为 excel 并且笔记本拒绝打开文件,因为它太大了。 Error Message Here

【问题讨论】:

  • 从 varchar 更改为 nvarchar 不会更改截断,您需要更改表中 varchar 的长度。您可以首先使用所有 VARCHAR(8000) 或 VARCHAR(MAX)(或 NVARCHAR,如果您有需要它的那些数据类型)创建暂存表,然后进行第二步,将其从暂存表转移到最终表。然后,如果您遇到问题,可以在舞台上运行 len 检查,以找出导致问题的行。

标签: sql ssis ssms


【解决方案1】:

[DT_WSTR] 的最大长度为 4000 。尝试使用 ntext 作为目标和源数据类型。

【讨论】:

    猜你喜欢
    • 2014-06-22
    • 2016-07-10
    • 1970-01-01
    • 1970-01-01
    • 2016-04-22
    • 2016-05-22
    • 2013-09-21
    • 1970-01-01
    • 2016-08-25
    相关资源
    最近更新 更多