我正在使用SSDT用于Visual Studio 2013和SQL Server 2014.我正在使用Excel源和OLE DB目标将数据从Excel电子表格导入SQL Server表。我在OLE DB目标上遇到此String or binary data would be truncated.
错误。我检查了所有内容,但我没有超过255的VARCHAR
个字段,并且在Excel连接字符串中使用IMEX = 1
。我试图一次导入一个字段进行测试,但仍然得到相同的错误而不确定列是什么。
SSIS错误:
[OLE DB Destination [28]]错误:SSIS错误代码DTS_E_OLEDBERROR。一个 发生OLE DB错误。错误代码:0x80004005。 OLE DB记录是 可用。来源:" Microsoft SQL Server Native Client 11.0" Hresult:0x80004005描述:"该声明已经发布 终止。&#34 ;. OLE DB记录可用。来源:" Microsoft SQL Server Native Client 11.0" Hresult:0x80004005描述:"字符串 或二进制数据将被截断。"。
[SSIS.Pipeline]错误:SSIS错误代码DTS_E_PROCESSINPUTFAILED。该 组件" OLE DB Destination"上的ProcessInput方法(28)失败了 处理输入" OLE DB目的地时出现错误代码0xC0202009 输入" (59)。标识的组件从中返回错误 ProcessInput方法。该错误特定于组件,但是 错误是致命的,将导致数据流任务停止运行 在此之前可能会发布错误消息以获取更多信息 关于失败。
答案 0 :(得分:0)
如果一次导入一个字段,则出错的字段应该是有问题的列。 我所经历的是excel文件在字段中有引号(“”)或特殊字符,并在加载到SQL表时将两个字段合并为一个字段。 所以我将excel文件保存为CSV并导入CSV。