ฉันมีคำขอนี้แปลกที่จะมีรายงานที่กำหนดและพิมพ์ไปยังเครื่องพิมพ์
รายงานเองนั้นค่อนข้างง่ายและพอดีกับหน้าเดียว ฉันสามารถพิมพ์ลงใน txt ได้และมันก็ใช้ได้ (แม้ว่าฉันจะเปิดรับข้อเสนอแนะเกี่ยวกับผลิตภัณฑ์ที่ดีกว่า)
นี่คือรหัส มันได้ผล. แต่ฉันไม่ชอบมัน โดยเฉพาะ id ต้องการลบด้วย @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