Ich habe eine .bat-Datei, die SSRS-Berichte im PDF-Format rendert. Der Bericht akzeptiert 2 Parameter studentID und SubjectID. Dies läuft gut, wenn ich versuche, jede studentID und SubjectID zu übergeben.Loop in einer .bat-Datei mit verschiedenen Parametern
Ich möchte, dass die .bat-Datei eine gespeicherte Prozedur ausführen, die eine Liste von StudentID und SubjectID hat und für jede StudentID und SubjectID ausführen/durchlaufen. Unten ist der .bat-Dateicode.
@setlocal enableextensions enabledelayedexpansion
@echo off
Set varServerPath=http://xyz/ReportServer
sqlcmd -Q "exec dbo.Storedproc_Studentlist" -S ServerName -d DatabaseName
LOOP:
rs -i C:\ReportRender\Student.rss -s%varServerPath% -e Exec2005 -v studentid="36" -v subjectid="500" -v vOutputFilePath="C:\ReportRender\Output\ZYZReport.pdf" -v vReportPath="/Student Reports/ReportName.rdl" -l 900
pause
exit
Wie kann ich eine Schleife durch die "rs" Befehl für jede Ergebnisse der gespeicherten Prozedur
dbo.Storedproc_Studentlist
Diese gespeicherte Prozedur gibt
SELECT '1' AS RowNumber,'1789' StudentID, '364' SubjectID, 'C:\Reports\tmurray' OutputLocation
UNION ALL
SELECT '2' AS RowNumber,'1789' StudentID, '365' SubjectID, 'C:\Reports\tmurray' OutputLocation
UNION ALL
SELECT '3' AS RowNumber,'1780' StudentID, '364' SubjectID, 'C:\Reports\mdbrisbin' OutputLocation
Danke,
Die Verwendung einer .bat-Datei ist in der Regel nicht einfach zu verwalten. Ein alternativer Ansatz wäre die Verwendung einer datengesteuerten Subskription.Die gespeicherte Prozedur kann die Parameterwerte bereitstellen, und der Bericht kann per E-Mail gesendet oder in einem freigegebenen Ordner gespeichert werden. – StevenWhite
Mit Standard-Edition, kann nicht datengesteuertes Abonnement verwenden :( – sqlsleepless