【问题标题】:SQL Server Import and Export wizardSQL Server 导入和导出向导
【发布时间】:2015-03-05 19:00:01
【问题描述】:

我正在将 CSV 文件导入现有数据库并遇到一些错误

  • 正在执行(错误) 留言 错误 0xc02020a1:数据流任务 1:数据转换失败。 “主管”列的数据转换返回状态值 4 和状态文本“文本被截断或一个或多个字符在目标代码页中不匹配。”。 (SQL Server 导入和导出向导)

错误 0xc020902a:数据流任务 1:“Source - loc800members_csv.Outputs[Flat File Source Output].Columns[supervisor]”失败,因为发生了截断,并且“Source - loc800members_csv.Outputs[Flat File”上的截断行处置Source Output].Columns[supervisor]" 指定截断失败。指定组件的指定对象发生截断错误。 (SQL Server 导入导出向导)

错误 0xc0202092:数据流任务 1:处理数据行 83 上的文件“C:\Users\administrator.WDS\Desktop\loc800members.csv”时出错。 (SQL Server 导入导出向导)

错误 0xc0047038:数据流任务 1:SSIS 错误代码 DTS_E_PRIMEOUTPUTFAILED。 Source - loc800members_csv 上的 PrimeOutput 方法返回错误代码 0xC0202092。当管道引擎调用 PrimeOutput() 时,组件返回了失败代码。失败代码的含义由组件定义,但是错误是致命的并且管道停止执行。在此之前可能会发布错误消息,其中包含有关失败的更多信息。 (SQL Server 导入导出向导)

这是我正在导入的表的示例。

http://i.imgur.com/4zsJqgI.jpg

这是主管字段的属性

http://i.imgur.com/r5EonQc.jpg

这是我要导入到的表中的列。

i.imgur.com/mD5KlCC.jpg

【问题讨论】:

    标签: sql-server sql-import-wizard


    【解决方案1】:

    从外观上看,数据库中的字段不够长,无法支持您尝试导入的数据。您需要缩短数据或(可能更理想地)增加数据库中字段的大小。看起来它来自“主管”列(尽管您可能需要仔细检查其他列以确保它也不会在其他地方发生)。

    简而言之,它正在尝试按原样导入所有内容,并最终在 csv 文件中遇到一个太长而无法正确复制的字段。而不是切断剩余的数据(截断),而是抛出一个错误并有效地放弃。我猜数据库中的字段是具有设定大小的 varchar 或 nvarchar 类型。您应该能够在数据库中将其大小向上跳跃以提取数据。您可能还需要修改相关的存储过程(如果有的话),因此数据不会在那里被截断。

    【讨论】:

    • 这是我在这张桌子上的列信息。主管字段是 Y 或 N,因此设置为 1 i.imgur.com/mD5KlCC.jpg
    • 不幸的是,我正在工作,而 imgur.com 实际上被阻止了。我回家后会看看这个。不过,我的猜测是,您可能在 csv 中的 Y 或 N 之后有一些空格,这会超出限制。
    【解决方案2】:

    您可以在向导中更改字段大小,默认为 50 个字符,这通常太小了。

    在“选择数据源”屏幕上,在您提供文件位置并选中您想要更改的任何格式后,然后单击高级。对于每个字段,您将看到数据类型和输出列宽。将其更改为更大的值。第一次查看文件时,我通常使用 500,直到我能看到实际大小。要一次更改所有列大小,请突出显示第一列的名称,然后按住 shift 键并单击最后一列。然后改变大小。

    【讨论】:

    • 主管列是 Y 或 N - 请参阅我对 user2366842 的评论以查看该表列的属性,您将看到主管列设置为 varchar(1)
    • 拉到一个列大小比较大的staging表中,然后就可以看一下数据,看看是什么问题。可能导致大小不匹配的另一件事是不可移植的字符,如制表符或使用错误的行分隔符。
    • 感谢关于分段的建议 - 完成此操作后,我能够滚动浏览我的 5k 记录,并且错误像拇指一样突出。谢谢你善良的互联网战士!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-09-26
    • 2010-12-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-26
    • 2012-04-29
    相关资源
    最近更新 更多