如何使用 java jdbc 连接到 sql 服务器并运行 sql 代理作业



我有 2-3 台服务器,每台服务器有 20-25 个 SQL 代理作业。

因此,我不想手动运行这些作业。我只想传递服务器名称和作业名称,以便它将运行作业。

在做了一些研究之后,我能够自动化作业运行:
首先,您必须创建一个 Java 项目并将 sqljdbc4.jar 文件包含在项目的库中。
您可以从此链接下载 jar 文件。

public class SQLMethod {
static void runJob(String serverName, String jobName) throws SQLException, ClassNotFoundException {
    Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
    String sqlSerDriver = "jdbc:sqlserver://%s;integratedSecurity=true;";
    String Url = String.format(sqlSerDriver, serverName);
    Connection conn = DriverManager.getConnection(Url);
    String jobExString = "EXEC msdb.dbo.sp_start_job N'%s'";
    String jobExcute = String.format(jobExString, jobName);
    CallableStatement cs = conn.prepareCall(jobExcute);
    cs.execute();
    System.out.println("Job started..");
}

public static void main(String[] args) throws ClassNotFoundException, SQLException {
    String serverName = " "; /*pass your server name here*/
    String jobName = " "; /*pass your job name here*/
    runJob(serverName, jobName);
}
}

谢谢:)

最新更新