0

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

我想使用 SSIS 导出到 Excel 目标。

错误:无法在 unicode 和非 unicode 数据类型之间转换。Si 试图使用数据转换,但我仍然得到同样的错误。

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

InputColumn OutputColumn DataType 长度 Precision Scale Code Page

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

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

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

我该如何解决这个问题。

4

1 回答 1

0

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

于 2013-07-11T10:08:05.390 回答