⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 msdbjob.java

📁 MM7彩信对接网关示例
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
		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 + -