SQL Server 2005 DTS导入平面数据源时(如txt文档),总是被截断,无法执行的错误解决方案

Posted 《登高》唐代杜甫

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL Server 2005 DTS导入平面数据源时(如txt文档),总是被截断,无法执行的错误解决方案相关的知识,希望对你有一定的参考价值。

 

1 典型的错误信息如下:

消息
* 错误 0xc02020a1: 数据流任务: 数据转换失败。列“列 2”的数据转换返回状态值 4 和状态文本“文本被截断,或者一个或多个字符在目标代码页中没有匹配项。”。
(SQL Server 导入和导出向导)
* 错误 0xc020902a: 数据流任务: “输出列“列 2”(18)”由于发生截断而失败,而且针对“输出列“列 2”(18)”的截断行处理设置指定截断时出错。在指定组件的指定对象上出现截断错误。
(SQL Server 导入和导出向导)
* 错误 0xc0047038: 数据流任务: SSIS 错误代码 DTS_E_PRIMEOUTPUTFAILED。组件“源 - 11_txt”(1) 的 PrimeOutput 方法返回了错误代码 0xC0202092。管道引擎调用 PrimeOutput() 时该组件返回了一个失败代码。虽然该失败代码只与该组件有关,但这个错误是致命的,管道已停止执行。可能在此之前已经发出错误消息,提供了有关失败的详细信息。
(SQL Server 导入和导出向导)
* 错误 0xc0047021: 数据流任务: SSIS 错误代码 DTS_E_THREADFAILED。线程“SourceThread0”已退出,错误代码为 0xC0047038。可能在此之前已经发出错误消息,提供了有关线程退出原因的详细信息。
(SQL Server 导入和导出向导)
* 错误 0xc0047039: 数据流任务: SSIS 错误代码 DTS_E_THREADCANCELLED。线程“WorkThread0”接收到关闭信号,正在终止。原因是用户请求了关闭,或另一线程中的错误导致该管道关闭。可能在此之前已经发出错误消息,提供了有关取消线程的原因的详细信息。
(SQL Server 导入和导出向导)

 

2 故障分析:
理由很简单,默认的平文件,每个字段的宽度是50,
如果你的平面数据源的字段超过这个,则会出现上面这个错误。

3 解决方案

也很简单,在高级里面,手工设定每个字段允许的最大宽度就行了,截图如下:

 技术图片

以上是关于SQL Server 2005 DTS导入平面数据源时(如txt文档),总是被截断,无法执行的错误解决方案的主要内容,如果未能解决你的问题,请参考以下文章

如何将Oracle中的数据导入到SQL Server中来

使用SSIS从SQL Server 2005中的平面文件导入时如何保留NULL值

如何删除大量数据 sql server2005 数据量在8千万左右??

[转载]在SQL Server 中,如何实现DBF文件和SQL Server表之间的导入或者导出?

怎么把sqlserver一个表中的数据导入到oracle中???

sql server2008备份出来的数据库如何在在sql server 2005或2000中还原