У меня есть .bat-файл, который отображает отчеты SSRS в формате PDF. Отчет принимает 2 параметра studentID и SubjectID. Это нормально работает, когда я пытаюсь передать в каждый studentID и SubjectID.Петля в файле .bat с различными параметрами
Я хотел бы, чтобы .bat-файл выполнял хранимую процедуру, которая имеет список studentID и SubjectID и запускает/циклически обрабатывает для каждого StudentID и SubjectID. Ниже приведен код файла .bat.
@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
Как я могу перебрать "RS" Command для каждого результатов хранимой процедуры
dbo.Storedproc_Studentlist
Эта хранимая процедура возвращает
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
Спасибо,
Использование .bat-файла, как правило, непросто для обслуживания. Альтернативный подход заключается в использовании подписки, основанной на данных.Хранимая процедура может предоставлять значения параметров, и отчет может быть отправлен по электронной почте или сохранен в общей папке. – StevenWhite
Используя стандартную редакцию, не можете использовать подписку, основанную на данных :( – sqlsleepless