8

我正在尝试使用 SQL Server management studio 2012 导入/导出向导将包含两列(sku、描述)的 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 个字符的单元格的东西?

4

2 回答 2

11

确认。终于明白了。答案是对源文件的大列使用 Text Stream 数据类型。

于 2013-09-19T16:56:37.740 回答
0

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

参考:Unicode 与 SSIS 配合得更好

于 2013-09-19T16:43:22.447 回答