我正在尝试将数据集导入SQL服务器,并且我继续获取下面的错误消息。我不确定他们的意思或如何解决问题。它是一个excel / csv文件,所以我认为可能有导致问题的换行,但我在字段上运行excel clean函数,我仍然得到错误。
错误0xc02020a1:数据流任务1:数据转换失败。 “列4”列的数据转换返回状态值4,状态文本“文本被截断,或者目标代码页中的一个或多个字符不匹配。”。 (SQL Server导入和导出向导)
错误0xc020902a:数据流任务1:“输出列”第4列“(26)”失败,因为发生了截断,截断行处置“输出列”第4列“(26) )“指定截断失败。指定组件的指定对象上发生截断错误。 (SQL Server导入和导出向导)
错误0xc0202092:数据流任务1:在数据行1上处理文件“Z:\ MandA \ x.csv”时发生错误。 (SQL Server导入和导出向导)
错误0xc0047038:数据流任务1:SSIS错误代码DTS_E_PRIMEOUTPUTFAILED。组件“Source - x_csv”(1)上的PrimeOutput方法返回错误代码0xC0202092。当管道引擎调用PrimeOutput()时,组件返回失败代码。失败代码的含义由组件定义,但错误是致命的,管道停止执行。在此之前可能会发布错误消息,其中包含有关失败的更多信息。 (SQL Server导入和导出向导)
答案 0 :(得分:0)
数据类型与MS SQL中的数据类型非常不同,而不是VARCHAR(255),它的DT_STR和输出列宽度可以设置为255.对于VARCHAR(MAX),它是DT_TEXT。
因此,在“数据源”选项的“高级”选项卡中,将任何有问题的列的数据类型从DT_STR更改为DT_TEXT(您可以选择多个列并一次更改所有列)。