首页 > 解决方案 > 定期将具有 NTEXT 列的数据导出到 Excel(作为作业)

问题描述

初始情况: 我被困在一个简单的任务中(在我看来它应该很简单......)我有一个数据集合,应该每周导出到 Excel。此导出包含 104 列,其中 57 列是 nvarchar(max),并包含不同语言的项目描述和其他信息,供我们的销售人员使用。该报告将有大约 2000 到 8000 行。我使用 SQL Server 2017 CU 16

我的意图: 我打算使用 Excel 模板执行 SSI 作业,其中列已预定义(宽度、数据类型等)。

这项工作将具有以下步骤:

  1. 删除现有的 Excel 文件
  2. 将 Excel 模板复制为新的 Excel 文件
  3. 使用 SQL Server 作为源和 Excel 目标作为目标的 DataFlowTask

我已经尝试过: 如果我使用只有标题的 excel 模板,每个 nvarchar(max) 列都会出现以下错误:

[Excel 目标 [2]] 错误:为“ColumnName”列设置绑定时出错。绑定状态为“DT_NTEXT”。

当我准备模板时,它预先填充了一行。对于源中 nvarchar(max) 所在的列,该行有一个长文本(超过 255 个字符),一切运行正常,但是,这个虚拟行仍然存在。

我所做的另一个尝试是使用“执行 SQL 任务”将工作表拖放到 Excel 文件连接,并使用另一个“执行 SQL 任务”中的创建表语句将工作表重新创建到相同的 Excel 文件连接,我得到与上面相同的错误. 虽然我使用 NTEXT 作为相关列的数据类型。

问题: 如何将数据无缝导出到包含 NTEXT 的预格式化 Excel 文件中?

非常感谢您的任何帮助。

标签: sqlexcelssisexport

解决方案


推荐阅读