如何从java代码启动sql server代理作业
我的项目中运行的SQL Server代理作业很少。作业按计划完美运行,没有问题 但是现在我需要能够从前端开始这些工作(比如点击按钮) 我怎么做如何从java代码启动sql server代理作业,java,sql-server-2005,sql-server-agent,Java,Sql Server 2005,Sql Server Agent,我的项目中运行的SQL Server代理作业很少。作业按计划完美运行,没有问题 但是现在我需要能够从前端开始这些工作(比如点击按钮) 我怎么做 这些作业的行为是否像函数一样?您可以使用proc调用它 范例 EXEC msdb.dbo.sp_start_job N'MyJobName'; 您可以使用我尝试过的任何db连接器执行此操作--这里有几个示例 使用CallableStatement: Connection rConn = //however you get your connection
这些作业的行为是否像函数一样?您可以使用proc调用它 范例
EXEC msdb.dbo.sp_start_job N'MyJobName';
您可以使用我尝试过的任何db连接器执行此操作--这里有几个示例 使用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();
或者,如果您使用jdbc模板:
jdbcTemp = //however you get your template...
jdbcTemp.update("EXEC msdb.dbo.sp_start_job N'" + procName + "'");
此外,您可能需要调整msdb的权限才能使其正常工作。您的帐户需要是系统管理员或具有SQLAgentOperatorRole角色。要在SQL Server管理中进行设置,请转到数据库引擎下的“安全性”,展开“登录”,右键单击要使用的帐户并选择“属性”。在“服务器角色”下,您可以授予sysadmin权限,或在“用户映射”下选中msdb,然后从下面的列表中选择TargetServersRole和SQLAgentOperatorRole
hth我应该使用callable语句吗?我正在使用JavaSpringHibernate。感谢一个示例代码。有趣的故事——昨晚我们的DBA对我上面提到的设置了权限的数据库进行了处理,导致我们的应用程序开始失败。我记不起所需的权限,但我记得在StackOverflow上发布了相关信息。在这里发帖节省了我重新查找正确权限的几个小时!