使用文本列>将CSV导入SQL Server 8000个字符

时间:2013-09-19 16:21:06

标签: sql-server import ssms sqldatatypes truncation

我正在尝试使用SQL Server管理工作室2012导入/导出向导将带有两列(sku,description)的csv文件导入SQL Server 2008。因为描述列肯定有大于8000个字符的行,所以在选择csv数据源时我会转到高级选项卡,然后单击描述列并单击“建议类型”。然后它为OutPutColumnWidth属性输入16718。显然,那里有一个描述很长。

它生成的sql是:

CREATE TABLE [dbo].[mag-prod-descriptions1] (
[sku] varchar(7),
[descrip] varchar(16718)
)

然而,当我执行导入时,我收到错误“无法连接源组件。错误0xc0204016:SSIS.Pipeline:”源 - mag-prod-descriptions1_csv.Outputs [平面文件源输出] .Columns [Column 1]“的长度无效。长度必须介于0到8000之间。”

如果我将OutputColumnWidth属性更改为8000,则会收到错误消息,指出该列已被截断。我不能赢。

如何让我能够导入超过8000个字符的单元格?

2 个答案:

答案 0 :(得分:10)

<包。终于明白了。答案是使用文本流数据类型作为源文件中的大列。

答案 1 :(得分:0)

我看到列大小错误的导入问题,我在想......这可能是Unicode问题吗?创建表时尝试使用nvarchar而不是varchar。

参考:Unicode Works Better With SSIS