我正在尝试使用 SSIS 将查询结果集的 XML 表示提取到文本文件中。我的查询当前成功提取了我在 SSMS 中运行时所需的确切 XML 输出。我已经尝试了我能找到的所有技巧,以在 SSIS 包中使用此结果集来创建文件。
使用数据流将 OLE 源移植到平面文件不起作用,因为 XML 查询的输出被视为 TEXT,而 SSIS 无法将 TEXT、NTEXT 或 IMAGE 推送到文件目标。
我尝试然后执行 SQL 任务来填充用户变量,然后使用脚本任务(使用 C# 编写)将此用户变量的内容写入文件输出,但用户变量始终为空。我不知道,但我怀疑这是因为 XML 被视为 TEXT 或 IMAGE 而用户变量不处理这个。
查询格式如下: SELECT * FROM dataTable WHERE dataTable.FIELD = 'Value' FOR XML AUTO, ROOT('RootVal')
结果数据集是格式良好的 XML,但我不知道如何将它从结果集获取到文件。
对我来说,在 C# 4.0 中编写控制台应用程序来执行此操作是一项相对容易的任务,但限制要求我至少在编写控制台应用程序和调度程序之前证明它无法使用 SSIS 完成。