[Excel目标[28]]错误:为列设置绑定时发生错误。绑定状态为" DT_NTEXT"

时间:2017-11-21 14:30:03

标签: sql excel ssis

我正在研究ssis包,它将数据从SQL Server导出到Excel。我在将非unicode转换为unicode字符串数据类型时遇到了问题。所以我创建了一个派生的Column任务并转换为Unicode字符串[DT_WSTR] 4列,在SQL Server表中有一个类型Varchar(40)。它适用于这些专栏。但我也有一个varchar(max)类型的Description列,我试图将它转换为Unicode文本流[DT_NTEXT]。那没起效。

2 个答案:

答案 0 :(得分:0)

如果您的源是SQL Server(如您所说),您可以直接在SQL查询中转换它

SELECT 
     CONVERT(NVARCHAR(40), 'att1')
    ,CONVERT(NTEXT, 'att2')

将您的VARCHAR转换为 NVARCHAR 将您的TEXT转换为 NTEXT

它更快。

P.S。测试它(不要忘记删除或重置以前的OLE DB输入组件) - >它将被迫重新评估您的数据类型

对你有帮助吗?

答案 1 :(得分:0)

唯一有效的方法是将存储过程中的描述列转换为varchar(1000)。我检查了这个字段的最大长度,大约有300个字符。所以我把它作为varchar(1000)并在Derived列中使用Unicode字符串[DT_WSTR]。这是一种解决方法,但我仍然想知道如何在ssis包中创建它而不在存储过程中转换数据类型。