我有一个奇怪的要求,要安排报告并将其打印到打印机。
报告本身非常简单,可以放在一个页面上。我可以将它打印到 txt 中,这样就可以了(尽管我愿意接受关于更好产品的建议)。
这是代码。有用。但我不喜欢。具体来说,我想取消嵌套的@bcp 和@SQL。
问题:有没有更优雅的方法来做到这一点?
declare @filepath varchar(255),
@filename varchar(255),
@filetype varchar(255),
@sql nvarchar(max),
@coverpage_text nvarchar(max)
set @filepath = 'C:\users\jmay\documents\'
SET @filename = 'TestFile'
set @filetype = '.txt'
--output to txt
set @sql = N'declare @bcp varchar(4000)
set @bcp = ''bcp " select * from test_data " queryout '
+ @filepath + @filename + @filetype + ' -t " - " -c -T -d DBA''
print @bcp
EXECUTE master.dbo.xp_cmdshell @BCP'
print @sql
exec sp_executesql @sql
--print data
set @sql = N'declare @bcp varchar(4000)
set @bcp = ''START /MIN NOTEPAD /P ' + @filepath + @filename + @filetype + '''
print @bcp
EXECUTE master.dbo.xp_cmdshell @BCP'
print @sql
exec sp_executesql @sql
Run Code Online (Sandbox Code Playgroud)
Sco*_*red 37
使用执行查询POWERSHELL和OUT打印机
Invoke-Sqlcmd -Query "SELECT GETDATE() AS TimeOfQuery;" -ServerInstance . | Out-Printer
Run Code Online (Sandbox Code Playgroud)
Out-Printer cmdlet 将输出发送到默认打印机或备用打印机(如果已指定)。
| 归档时间: |
|
| 查看次数: |
4702 次 |
| 最近记录: |