0

我的数据流任务SSIS BIS 2008包含一个数据库查询源,其中的一NVARCHAR列返回一个 688 个字符的常量字符串,我在填写预先创建的模板时尝试将其插入 Excel 目标列。

当 DB 源和 Excel 目标的所有列类型都是最大的 DT_WSTR 时。255 个字符都可以正常工作。但是将 Excel 目标(在高级属性中)的输入列更改为 NTEXT 会导致包预处理错误

“[Excel 目标 [97]] 错误:SSIS 错误代码 DTS_E_OLEDBERROR。发生 OLE DB 错误。错误代码:0x80040E21。[Excel 目标 [97]] 错误:无法创建 OLE DB 访问器。验证列元数据是否有效. [SSIS.Pipeline] 错误:组件“Excel 目标”(97) 未能通过预执行阶段并返回错误代码 0xC0202025。

这与此列的来源无关 - 直接来自数据库的 DT_WSTR 或来自插入其间的数据转换任务的 DT_NTEXT。
我可以在网上找到的最佳一致解决方案是重新启动机器 - 没有希望。

有没有办法将长度大于 255 的单个 UC 字符串导出到 Excel 目标?

4

1 回答 1

0

从所有研究来看,这似乎是不可能的。最后的解决方法是将要插入 Excel 的文本截断到最大值。255 个字符。没有给企业留下深刻印象,但最终工作得很好。

于 2014-01-15T11:49:41.463 回答