📄 msdbjob.java
字号:
catch(Exception e){
e.printStackTrace();
ok = false;
}
finally{
HibernateUtil.closeSession();
}
return ok;
}
/**
* 删除该作业的指定名称的调度
* @param scheduleName 该作业的指定名称的调度的名称
* @return 删除成功与否
*/
public boolean deleteJobSchedule(String scheduleName){
if (this.jobID == null || this.jobID.equals("")){
return false;
}
for (int i = 0; i < jobSchedules.size(); i++){
MsDbJobSchedule s = (MsDbJobSchedule)jobSchedules.get(i);
if (s.getScheduleName().equals(scheduleName)){
return deleteJobSchedule(s);
}
}
return false;
}
/**
* 删除该作业的指定的调度
* @param s 该作业的指定的调度
* @return 删除成功与否
*/
public boolean deleteJobSchedule(MsDbJobSchedule s){
// 执行 MSSqlserver的系统存储过程 sp_add_job
boolean ok = false;
if (this.jobID == null || this.jobID.equals("")){
return false;
}
try{
Session sess = HibernateUtil.currentSession();
Connection con = sess.connection();
int i = -1;
CallableStatement statement =
con.prepareCall("{? = call msdb.dbo.sp_delete_jobschedule(?, ?, ?)}");
statement.registerOutParameter(1, Types.INTEGER);
statement.setString("@job_id", jobID);
statement.setString("@job_name", null);
statement.setString("@name ", s.getScheduleName());
Transaction tx = sess.beginTransaction();
statement.execute();
tx.commit();
int ret = statement.getInt(1);
if (ret == 0){
this.jobSchedules.remove(s);
ok = true;
}
}
catch(Exception e){
e.printStackTrace();
ok = false;
}
finally{
HibernateUtil.closeSession();
}
return ok;
}
/**
* 删除指定的作业步骤
* @param s 指定的作业步骤
* @return 删除成功与否
*/
public boolean deleteJobStep(MsDbJobStep s){
// 执行 MSSqlserver的系统存储过程 sp_delete_jobstep
boolean ok = false;
if (this.jobID == null || this.jobID.equals("")){
return false;
}
try{
Session sess = HibernateUtil.currentSession();
Connection con = sess.connection();
int i = -1;
CallableStatement statement =
con.prepareCall("{? = call msdb.dbo.sp_delete_jobstep(?, ?, ?)}");
statement.registerOutParameter(1, Types.INTEGER);
statement.setString("@job_id", jobID);
statement.setString("@job_name", null);
statement.setInt("@step_id ", s.getStepID());
Transaction tx = sess.beginTransaction();
statement.execute();
tx.commit();
int ret = statement.getInt(1);
if (ret == 0){
this.jobSteps.remove(s);
ok = true;
}
}
catch(Exception e){
e.printStackTrace();
ok = false;
}
finally{
HibernateUtil.closeSession();
}
return ok;
}
/**
* 删除指定名称的作业步骤
* @param stepID 作业步骤编号
* @return 删除成功与否
*/
public boolean deleteJobStep(int stepID){
if (this.jobID == null || this.jobID.equals("")){
return false;
}
for(int i = 0; i < jobSteps.size(); i++){
MsDbJobStep s = (MsDbJobStep)jobSteps.get(i);
if (s.getStepID() == stepID){
return deleteJobStep(s);
}
}
return false;
}
/**
* 删除作业
* @param job 作业
* @return 是否删除成功
*/
public static boolean deleteJob(MsDbJob job){
// 执行 MSSqlserver的系统存储过程 sp_delete_job
boolean ok = false;
try{
Session sess = HibernateUtil.currentSession();
Connection con = sess.connection();
int i = -1;
CallableStatement statement =
con.prepareCall("{? = call msdb.dbo.sp_delete_job(?, ?)}");
statement.registerOutParameter(1, Types.INTEGER);
if (job.getJobID() != null){
statement.setString("@job_id", job.getJobID());
statement.setString("@job_name", null);
}
else{
statement.setString("@job_id", null);
statement.setString("@job_name", job.getJobName());
}
Transaction tx = sess.beginTransaction();
statement.execute();
tx.commit();
int ret = statement.getInt(1);
if (ret == 0){
ok = true;
}
}
catch(Exception e){
e.printStackTrace();
ok = false;
}
finally{
HibernateUtil.closeSession();
}
return ok;
}
/**
* 删除指定名称的作业
* @param jobID 指定作业的编号
* @return 删除是否成功
*/
public static boolean deleteJob(String jobID){
// 执行 MSSqlserver的系统存储过程 sp_delete_job
boolean ok = false;
try{
Session sess = HibernateUtil.currentSession();
Connection con = sess.connection();
int i = -1;
CallableStatement statement =
con.prepareCall("{? = call msdb.dbo.sp_delete_job(?, ?)}");
statement.registerOutParameter(1, Types.INTEGER);
statement.setString("@job_id", jobID);
statement.setString("@job_name", null);
Transaction tx = sess.beginTransaction();
statement.execute();
tx.commit();
int ret = statement.getInt(1);
if (ret == 0){
ok = true;
}
}
catch(Exception e){
e.printStackTrace();
ok = false;
}
finally{
HibernateUtil.closeSession();
}
return ok;
}
/**
* 加载作业
* @param set
*/
private void loadJob(ResultSet set){
try {
if (set.next()){
this.jobName = set.getString("name");
this.jobID = set.getString("job_id");
this.description = set.getString("description");
this.enabled = set.getInt("enabled");
this.ownerLoginName = set.getString("owner");
}
} catch (SQLException e) {
e.printStackTrace();
}
}
/**
* 加载作业的步骤
* @param set
*/
private void loadStep(ResultSet set){
try {
while (set.next()){
MsDbJobStep s = new MsDbJobStep();
s.setStepID(set.getInt("step_id"));
s.setStepName(set.getString("step_name"));
s.setServer(set.getString("server"));
s.setDbName(set.getString("database_name"));
s.setUserName(set.getString("database_user_name"));
s.setCommand(set.getString("command"));
jobSteps.add(s);
}
} catch (SQLException e) {
e.printStackTrace();
}
}
/**
* 加载作业的调度
* @param set
*/
private void loadSchedule(ResultSet set){
try {
while (set.next()){
MsDbJobSchedule s = new MsDbJobSchedule();
s.setActiveEndDate(set.getInt("active_end_date"));
s.setActiveStartDate(set.getInt("active_start_date"));
s.setActiveStartTime(set.getInt("active_start_time"));
s.setActiveEndTime(set.getInt("active_end_time"));
s.setEnabled(set.getInt("enabled"));
s.setFreqInterval(set.getInt("freq_interval"));
s.setFreqRecurrenceFactor(set.getInt("freq_recurrence_factor"));
s.setFreqRelativeInterval(set.getInt("freq_relative_interval"));
s.setFreqSubdayInterval(set.getInt("freq_subday_interval"));
s.setFreqSubdayType(set.getInt("freq_subday_type"));
s.setFreqType(set.getInt("freq_type"));
s.setScheduleName(set.getString("schedule_name"));
jobSchedules.add(s);
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -