0

我正在尝试使用向导将 csv 文件导入到 sql server 2005 中的表中。但是当我导入文件时总是给我这个错误:

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

错误 0xc020902a:数据流任务 1:“输出列“列 15”(70)”由于发生截断而失败,并且“输出列“列 15”(70)”上的截断行处置指定截断失败。指定组件的指定对象发生截断错误。(SQL Server 导入和导出向导)

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

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

我做错了什么?该文件是从查询中导出的,然后我删除所有记录并尝试导入。

4

2 回答 2

3

平面文件导入任务将默认长度为VARCHAR(50). 您需要转到平面文件连接页面的高级属性并手动更改长度以匹配目标表。还应该有一个“建议类型”选项,它可能与您正在使用的元数据匹配,但它会从文件中抽取行样本,因此它可能不如手动设置类型那么准确。

于 2013-01-09T14:59:12.663 回答
0

可能是您尝试从 CSV 导入数据,该数据对于您要导入的字段来说太大了。也许您需要增加 SQL 表中字段的大小?

您是否尝试过从 CSV 导入一个非常小的数据行来查看是否有效?如果是这样,则工作表其余部分中某处的数据过大可能是问题所在。

于 2013-01-09T14:56:52.787 回答