Этот вопрос был опубликован сотрудником для меня. Мои комментарии и резолюция следующие:
Справочная информация:
По сути, я хотел отправлять отчеты SSRS на сетевые принтеры в нашей корпорации через их UNC. У меня есть приложение для мониторинга качества в реальном времени (для промышленного производства), работающее на SQL Server. Поскольку серьезные дефекты обнаружены, я хотел послать отчет в принтеры QA для них, чтобы проанализировать дефекты. Он также дополняет нашу систему оповещения на пейджер и электронную почту, чтобы предотвратить возникновение проблем.
Решение:
Я написал хранимую процедуру SQL для мониторинга ошибок качества. По мере обнаружения хранимая процедура вызывает консольное приложение .Net, используя xp_cmdshell, передавая идентификатор продукта, UNC-путь, имя отчета, путь к файлу Adobe Reader (на SQL Server) и некоторые другие параметры. Обратите внимание, что консольное приложение находится на том же сервере, что и SQL Server. Консольное приложение принимает параметры и передает их в SSRS с выходным форматом PDF. PDF создается и сохраняется локально, затем консольные приложения запускают командную строку, используя скрытый режим запуска Adobe Reader (/ t). Путь к файлу и UNC-путь передаются как параметры, а вуаля - автоматическая печать файлов SSRS.
Необязательный параметр указывает консольному приложению, удалять ли локально сохраненный файл PDF.