Вы можете сделать это с любым разъемом БД, который я пробовал - вот несколько примеров ...
Использование CallableStatement:
Connection rConn = //however you get your connection...
CallableStatement cs = rConn.prepareCall("EXEC dbo.sp_start_job N'your job name'");
boolean checkvar = cs.execute();
В качестве альтернативы, если вы используете jdbctemplate:
jdbcTemp = //however you get your template...
jdbcTemp.update("EXEC msdb.dbo.sp_start_job N'" + procName + "'");
Кроме того, вам, вероятно, потребуется настроить разрешения для msdb, чтобы это работало.Ваша учетная запись должна быть системным администратором или иметь роль SQLAgentOperatorRole.Чтобы установить это в SQL Server Management, перейдите в раздел «Безопасность» своего движка БД, разверните имена входа, щелкните правой кнопкой мыши учетную запись, которую вы будете использовать, и выберите свойства.В разделе «Роли сервера» вы можете предоставить sysadmin или в разделе «Сопоставление пользователей» проверить msdb, затем выбрать TargetServersRole и SQLAgentOperatorRole из списка ниже.
ч