SSIS - Excel目标的数据库表

时间:2013-07-10 12:43:30

标签: tsql ssis

我在sql server上的数据库上有一个表,其中包含一列: `[ABCD] [varchar]为6000

我想使用SSIS导出到Excel目的地。

  

错误:无法在unicode和非unicode数据类型之间进行转换。硅   尝试使用数据转换,但我仍然得到相同的错误。

当我查看数据转换编辑器时,我看到了这一点。

  

InputColumn OutputColumn DataType Length Precision   比例代码页

     

ABCD字符串的ABCD副本[DT_STR] 6000
  1252(ANSI - Latin I)

首先它说长度无效,必须在0到4000之间。 我将其更改为4000,现在它表示ABCD的副本具有长度,精度,比例或代码页,该值是0以外的值,但数据类型要求值为0。

精度和比例为空,我无法将代码页更改为0,因为它只有一个下拉列表,只有其他代码页可供选择。

我该如何解决这个问题。

1 个答案:

答案 0 :(得分:0)

之前我遇到过Unicode和非Unicode的问题,为我解决的问题是将数据类型更改为Unicode String [DT_WSTR]而不是字符串[DT_STR]。表中的unicode数据(即NCHAR或NVARCHAR(当指定长度时))的最大长度是4000,这就是6000长度给出错误的原因。我希望这会有所帮助。