Я получил этот странный запрос, чтобы запланировать отчет и распечатать его на принтере .
Сам отчет довольно прост и помещается на одной странице. Я могу распечатать его в текстовом формате, и это будет просто прекрасно (хотя я открыт для предложений по лучшему продукту).
Вот код Оно работает. Но мне это не нравится. В частности, я хотел бы покончить с вложенными @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
sql-server
Джеймс
источник
источник