【发布时间】:2017-12-22 07:03:25
【问题描述】:
我正在编写一份报告,其中我在 SQL 中进行了查询,并且查询结果将被导出到一个平面文件中。
-- 这是一项日常工作,每天都会将结果导出到一个新的平面文件中
(Name of the flat file & date : NAME_OF_THE_FLATFILE_7.17.2017.txt).
-- 该平面文件有一个包含 9 行的标题模板。其中少数是静态的,其余的是动态的。标题动态行包括日期、查询结果行数、平面文件名称等...
我的问题:
有没有办法将数据从 SQL 导出到具有上述指定名称的平面文件? (我们不应该使用存储过程。我知道我们有一个使用SSIS将查询结果从SQL导出到平面文件的过程,但是是否可以每天以指定的名称格式导出查询结果?)
如何查询标题模板并将其导出到平面文件?
我期望的文本文件的输出是
Header Execution Date 20170717
Header Text file name NAME_OF_THE_FLATFILE_07.17.2017
Header Count of rows 5
Header Dynamic row
Header Dynamic row
Header Dynamic row
Header Dynamic row
Header Dynamic row
Header Dynamic row
Client Loan Number
123 4567890123
234 5678901234
345 6789012345
456 7890123456
567 8901234567
【问题讨论】:
-
我会使用 C# 来执行此操作。将结果加载到数据表中,然后通过 csv 生成函数运行数据表。
-
动态标头通常不是一个很好的过程,因为它们难以使用。
-
我不确定是否有办法在不使用其他工具的情况下执行此操作 (sqlservercentral.com/articles/Export/147145。如果您需要通过电子邮件发送 TSQL 查询的结果,我使用 dbo.sp_send_dbmail。我有一个在 Excel 中执行此操作的报告,但您当然可以将其更改为文本文件。
标签: sql ssis automation header flat-file