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

📄 数据源operatdatabase.java

📁 本系统对学生信息操作控制流程和相关数据信息进行了较为全面且科学高效的管理
💻 JAVA
字号:
package operator;
import java.sql.*;
import java.io.*;

public class OperatDatabase 
{
	String sDBDriver = "sun.jdbc.odbc.JdbcOdbcDriver";
	String sConnStr = "jdbc:odbc:bbb";//bbb为数据源,连接master数据库
	String id="sa";//数据库用户名
	String password="sa";//密码
	Connection con = null;
	ResultSet rs = null;
	Statement stmt=null;
	
	//构造函数
	public OperatDatabase() {
		try {
		Class.forName(sDBDriver);
	}
	catch(java.lang.ClassNotFoundException e) {
		System.err.println("conn(): " + e.getMessage());
	}
	}
	
	public int getLastChar(String strrecv,char chrrecv){
	   int iRet=0;
	   int strlength = strrecv.length();
	   for( int i=0;i<strlength; i++)
	   {
		   if(strrecv.charAt(i) == chrrecv)
		      iRet = i;
	    }
	    return iRet;
	}
	
	public String IIf(boolean flag,String str1,String str2){
		if( flag )
			return str1;
		else
			return str2;
	}
	
/*
*************************************************************************
	**模 块 名:backupDatabase
	**描    述:备份数据库,返回出错信息,正常恢复,返回""
	**调    用:backupDatabase "备份文件名","数据库名"
	**参数说明:
	**          sBackUpfileName  恢复后的数据库存放目录
	**          sDataBaseName    备份的数据库名
	**          sIsAddBackup     是否追加到备份文件中
	**说    明:引用Microsoft ActiveX Data Objects 2.x Library
	**日    期:2006年11月26日
*************************************************************************
*/

public boolean backupDatabase(String sBackUpfileName)
	{
		String iSql, iReturn;
		iSql = "backup database [xsglDatabase] to disk='" + sBackUpfileName + "'";
		try
			{	
				con=DriverManager.getConnection(sConnStr,id,password);
				stmt=con.createStatement();
				stmt.execute(iSql);
			}
			catch(SQLException ex)
			{
				System.err.println("con.executeUpdate:"+ ex.getMessage());
				return false;
			}

		return true;
	}
/*************************************************************************
	**模 块 名:restoreDatabase
	**描    述:恢复数据库,返回出错信息,正常恢复,返回""
	**调    用:restoreDatabase "备份文件名","数据库名"
	**参数说明:
	**          sDataBasePath  恢复后的数据库存放目录
	**          sBackupNumber  是从那个备份号恢复
	**          sReplaceExist  指定是否覆盖已经存在的数据
	**说    明:引用Microsoft ActiveX Data Objects 2.x Library
	**日    期:2006年11月26日
*************************************************************************
*/
public String restoreDatabase(String sBackUpfileName,String sDataBasePath,String sBackupNumber,boolean sReplaceExist){

     String iSql,iReturn,iI;
     int iBeg,iEnd;
	 iSql="";
	 
	 //得到还原后的数据库存放目录,如果没有指定,存放到SQL SERVER的DATA目录
	 try
		{
		con=DriverManager.getConnection(sConnStr,id,password);	
		stmt=con.createStatement();
		
	    if( sDataBasePath.equals("")  ){
				iSql = "select filename from master..sysfiles";
				rs = stmt.executeQuery(iSql);//iRe.Open iSql, iDb, adOpenKeyset, adLockReadOnly;
				iSql = rs.getString(0);
				rs.close();
				sDataBasePath = iSql.substring( 0, iSql.lastIndexOf("\\"));
			}

    //检查数据库是否存在
	    if( !sReplaceExist ){
				iSql = "select 1 from master..sysdatabases  where name='xsglDatabase'";
				rs=stmt.executeQuery(iSql);//iRe.Open iSql, iDb, adOpenKeyset, adLockReadOnly
				if( rs.next()){
						iReturn = "exist";//数据库已经存在!继续操作
						rs.close();
					}else {
						iReturn = "notExist";//恢复失败,数据库不存在!
						rs.close();
						return iReturn;
						}
						rs = null;
			}
	    //关闭用户进程,防止其它用户正在使用数据库,导致数据恢复失败
	    iSql = "select spid from master..sysprocesses where dbid=db_id('xsglDatabase')";
	    rs=stmt.executeQuery(iSql);
	    while(rs.next()){
				iSql = "kill " + String.valueOf(rs.getInt("spid"));
				stmt.execute(iSql);
			}
	    rs.close();
	    //生成数据库恢复语句
	    iSql = "restore database [xsglDatabase] from disk='" + sBackUpfileName + "'";
	    if(sReplaceExist){//是否替换
	               iSql = iSql + " with REPLACE ";
			}else {
				   iSql = iSql+"";
				}
	    stmt.execute(iSql);//iDb.Execute iSql;
	    iReturn = "sucess";//恢复成功
	    return iReturn;
	}
	catch(SQLException sx)
	{
		System.err.println("con.executeUpdate:"+ sx.getMessage());
		iReturn="failer";//恢复失败
		return iReturn;
	}
}
	   
/**
*功能:关闭连接
*
*/
public void close()
   {
    try{
       if(con!=null)
       {
          con.close();
        }
       }
       catch(SQLException ex)
		{
			System.err.println("con.executeDelete: "+ ex.getMessage());
		}

   }
  /* 
   public static void main(String[] args)throws SQLException{
   	OperatDatabase test=new OperatDatabase();
   	ResultSet rst=test.executeQuery("select * from dbo.shujukubeifen");
   	while(rst.next()){
   		System.out.print(rst.getString("backupId"));
   		System.out.print(rst.getString("backupName"));
   		System.out.print(rst.getString("backupTime"));
   	}
   }*/
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -