如题,本帖主要详述SQLServer导入csv的步骤,以及遇到报错问题。
- 正在执行 (错误)
消息
• 错误 0xc02020a1: 数据流任务 1: 数据转换失败。列“列 1”的数据转换返回状态值 4 和状态文本“文本被截断,或者一个或多个字符在目标代码页中没有匹配项。”。
(SQL Server 导入和导出向导)
• 错误 0xc020902a: 数据流任务 1: “输出列“列 1”(14)”由于发生截断而失败,而且针对“输出列“列 1”(14)”的截断行处理设置指定截断时出错。在指定组件的指定对象上出现截断错误。
(SQL Server 导入和导出向导)
• 错误 0xc0202092: 数据流任务 1: 处理文件“xxxxx.csv”的数据行 2 时出错。
(SQL Server 导入和导出向导)
• 错误 0xc0047038: 数据流任务 1: SSIS 错误代码 DTS_E_PRIMEOUTPUTFAILED。组件“源 - bs2_csv”(1) 的 PrimeOutput 方法返回了错误代码 0xC0202092。管道引擎调用 PrimeOutput() 时该组件返回了一个失败代码。虽然该失败代码只与该组件有关,但这个错误是致命的,管道已停止执行。可能在此之前已经发出错误消息,提供了有关失败的详细信息。
(SQL Server 导入和导出向导)
翻了好多帖子,没一个能解决我的问题,还是自力更生吧。
解决办法:
csv里面的数据是nvarchar,需要将数据改为对应的DT_WSTR;
*报错中出现“文本被截断”,也可以考虑使用VARCHAR(MAX)即 DT_TEXT 。
数据中有【“ ”】引号,部分导入数据失败,使得全局数据失败,所以将错误改为忽略。
返回【上一步】
搞定!