使用SSIS

时间:2016-12-29 19:21:50

标签: sql-server excel ssis

我正在使用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方法。该错误特定于组件,但是   错误是致命的,将导致数据流任务停止运行   在此之前可能会发布错误消息以获取更多信息   关于失败。

1 个答案:

答案 0 :(得分:0)

如果一次导入一个字段,则出错的字段应该是有问题的列。 我所经历的是excel文件在字段中有引号(“”)或特殊字符,并在加载到SQL表时将两个字段合并为一个字段。 所以我将excel文件保存为CSV并导入CSV。