2017-01-10 57 views
0

我想使用SSIS包导入到SQL服务器表的excel。在该excel中,一列中的数据超过300个字符。虽然导入我在Excel中源得到一个错误:错误的Excel导入:查找错误,同时导入excel到SSIS的大文本列的SQL

[Excel Source [12]] Error: There was an error with Excel Source.Outputs[Excel Source Output].Columns [ higher] on Excel Source.Outputs[Excel Source Output]. The column status returned was: "Text was truncated or one or more characters had no match in the target code page.".

采取的行动:由地产SHOW改变数据类型为“Unicode文本流”尝试先进编辑器 - >输入输出&属性 - >外部输出列。

+0

为什么不将SQL目标字段定义为varchar(max)或Nvarchar(max),只是为了确定这是导致问题的字段? – MiguelH

+0

我们也试过。当我们执行包时。在excel源代码中,它自身的问题即将到来 –

+0

尝试使用此文件创建一个新的excel源代码,您将获得列的正确元代码 – Riadhovic

回答

0

显然你在ssis中的映射比在Excel中的实际值小,或者你的excel文本有一些你的代码页无法读取的字符。

可以取消映射,并再次你列在Excel源映射或访问:

[Excel Source [12]] right click >> "Show Advanced Editor..." >> "Input and Output properties" >> "OLE DB Source Output" >> " + Output Columns"

和编辑黎民Propertie“代码页”和你列的“长度”。

如果不起作用,请尝试忽略“错误输出”页面上的截断错误。

+0

当我试图单独导入该特定列时,我可以做到。但是当我输入整张纸时,我正面临着这个问题。当尝试使用单列时,数据类型是unicode文本流。但是,当导入所有工作表时,数据类型都采用unicode字符串。 –

+0

您可以在高级编辑器中将列的数据类型更改为任何您想要的内容... –

+0

是的,在开始时我已经检查过它。 –