向 CSV 文件添加列标题

Adding column header to the CSV File

提问人:Ahmad AL Sayed 提问时间:11/13/2023 最后编辑:Ahmad AL Sayed 更新时间:11/13/2023 访问量:54

问:

-- Alcatel section
DECLARE @AlcatelFileName VARCHAR(255)
SET @AlcatelFileName = 'C:\Vanrise\Bad_CDRs\Alcatel\AlcatelBadCDR_' + @YesterdayDate + '(Top 100).csv'

DECLARE @AlcatelCmd NVARCHAR(4000)
SET @AlcatelCmd = 'bcp "SELECT top(100) * FROM [MediationSTGCDR].[Mediation_ICX].[AlcatelBadCDR] WHERE [FileName] LIKE ''%' + @YesterdayDate + '%''" queryout "' + @AlcatelFileName + '" -c -t, -S 10.21.3.3 -T'

-- Execute the bcp command for Alcatel
EXEC xp_cmdshell @AlcatelCmd

我想在我们正在创建的 CSV 文件中显示列标题。 这里有任何英雄可以解决这个问题吗?

sql-server csv 选择 SSMS BCP

评论

2赞 siggemannen 11/13/2023
您必须将选择与另一个具有标题的选择联合起来,然后确保能够正确排序。通常,这实现起来有些复杂。
1赞 AlwaysLearning 11/13/2023
旁白。。。该实用程序无法识别 RFC 4180,因此如果任何导出的数据恰好包含换行符、引号或分隔符,则生成的 .csv 文件将被“损坏”。请考虑使用其他工具,例如通过 cmdlet 输出的 PowerShell 脚本。bcpExport-Csv
1赞 Thom A 11/13/2023
布拉格;老实说,只是不要(滥用)为此使用。使用 SQL Server 调用命令行环境、调用命令行应用程序、重新连接到调用 shell 的服务器来导出数据不是解决方案。如果需要执行类似操作,请使用代理调用 Powershell,或者(更好)仅使用 Powershell 开始。或者,使用实际的 ETL 工具,如 SSIS。xp_cmdshell
0赞 Ahmad AL Sayed 11/13/2023
我正在创建一个 SQL 作业,该作业会根据昨天的日期通过电子邮件自动发送每日 CSV 文件
0赞 Nick.Mc 11/13/2023
可以创建一个 SQL JOb,它运行执行此操作的 powershell 步骤(而不是 SQL 步骤)。

答: 暂无答案