Запуск процесса на C# с пользователем mssqlserver возвращает NULL
У меня есть база данных sqlserver 2016. Я запускаю хранимую процедуру, в которой вызываю сборку DLL. Внутри этой сборки я выполняю System.Diagnostics.Process.Start для печати PDF-файла. У меня есть все на моем локальном компьютере (sap b1, sqlserver 2016 и Adobe Reader). Все отлично работает. Но в моем Windows Server 2016 System.Diagnostics.Process.Start возвращает NULL.
Когда я добавляю данные из sap b1, sqlserver 2016 выполняет мою хранимую процедуру и запускает процесс печати.
Когда база данных запускает это действие, она использует пользователя NT SERVICE/MSSQLSERVER. Я думаю, что этот пользователь не может выполнить это действие. Я проверил разрешения для файла PDF и принтера.
Я думаю, что какой-то код отсутствует. Я проверил это сообщество в поисках решения, но...
System.Diagnostics.Process printer = new System.Diagnostics.Process();
printer.StartInfo.Arguments = "\"" + impresora + "\""; //impresora seleccionada
printer.StartInfo.FileName = ruta + albaran + ".PDF";
printer.StartInfo.UseShellExecute = true;
printer.StartInfo.Verb = "PrintTo";
printer.StartInfo.CreateNoWindow = false;
printer.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
if (System.Diagnostics.Process.Start(printer.StartInfo) == null)
SqlContext.Pipe.Send("Process is not launched");