sha*_*shi 8 sql-server import-from-excel
我正在尝试使用导入向导将数据从excel导入到Sql Server.在第一步中,一切似乎都很好.该向导能够读取excel文件并正确识别列.但是在进程实际运行的最后一步中,它没有给出以下错误:
错误0xc020901c:数据流任务1:输出"Excel源输出"(9)上的输出列"AlternateName"(24)出错.返回的列状态为:"文本被截断,或者目标代码页中的一个或多个字符不匹配.".(SQL Server导入和导出向导)
错误0xc020902a:数据流任务1:"输出列"AlternateName"(24)"失败,因为发生了截断,并且"输出列"AlternateName"(24)"上的截断行处置指定了截断失败.指定组件的指定对象上发生截断错误.(SQL Server导入和导出向导)
错误0xc0047038:数据流任务1:SSIS错误代码DTS_E_PRIMEOUTPUTFAILED.组件"Source - Sheet1 $"(1)上的PrimeOutput方法返回错误代码0xC020902A.当管道引擎调用PrimeOutput()时,组件返回失败代码.失败代码的含义由组件定义,但错误是致命的,管道停止执行.在此之前可能会发布错误消息,其中包含有关失败的更多信息.(SQL Server导入和导出向导)
列AlternateName的最大数据长度为658个字符.目标表将AlternateName列定义为varchar(1000).所以我不确定为什么我会收到这个错误.但后来我注意到了这一点

我有预感,这可能导致问题.但是,如何更改定义为varchar 255的Source列?
小智 8
您可能需要在向导中编写自己的查询并将列转换为varchar(1000) - 我不是100%肯定会起作用.或者,表单有多大?该向导仅"向下看"这么多行(默认情况下为IIRC 10000,它是一个注册表设置)来确定数据类型和宽度.重新排序excel文件,以便最长的AlternateName值位于顶部.
| 归档时间: |
|
| 查看次数: |
12975 次 |
| 最近记录: |