您的位置:首页 >> 编程开发 >> Java >> 数据库 >> 正文
数据库 RSS
 

在虚拟主机环境下备份数据库并且导出到EXCEL

http://www.rdxx.com 03年11月09日 12:12 Blog 我要投稿

在虚拟主机的环境下,因为没有管理员权限,只有数据库使用权限,定时备份SQL数据是

个比较麻烦的问题。解决思路如下:(仅对SQL2000有效)
1. 利用T-SQL备份数据库到指定目录,文件名根据日期指定。
2. 利用Resin的定时功能,定时执行备份。
3. 用户定时下载备份并且删除过期备份。

导出全部数据到Excel也比较实用。下面提供的方法可以导出库中的全部表,也可以指定

几个表导出。注意:
1. 因为是导出全部数据,在数据比较多的情况下慎用。
2. 理论上应该适用各种JDBC数据库,仅对SQL2000测试过
3. 对于B/S下载,建议不要在服务器上生成文件,以免造成垃圾文件。直接从HTTP的Response中取得OutputStream进行输出。
4. Excel操作的API请到这里下载:http://www.andykhan.com/jexcelapi/

package steeven;
import jxl.write.*;
import java.util.*;
import java.sql.Statement;
import java.sql.ResultSet;
import java.sql.Types;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.text.DateFormat;
import java.io.*;

/**
 * <p>Title: 数据库备份</p>
 * <p>Description: 在Java中备份数据库</p>
 * @author steeven
 * @version 1.0
 */
public class DBackup{
    Context ctx ;
    public DBackup(Context ctx) {
        this.ctx = ctx;
    }
    /**
     * 备份SQL2000数据库到文件,整个数据库备份
     * 文件名后面将追加备份年月日。例如:c:\dbBackup\mydb031109
     * @param file 导出的文件名全路径。例如:"c:\\dbBackup\\mydb"
     */
    public void backup(String dbName, String file)throws SQLException{
        String sql = "BACKUP DATABASE ["+dbName+"] TO DISK = N'";
        sql += file + new SimpleDateFormat("yyMMdd").format(new Date());
        sql += "' WITH  NOINIT ,  NOUNLOAD ,  NAME = N'lvdong',  NOSKIP , 

STATS = 10,  NOFORMAT";
        Statement stmt = ctx.getConnection().createStatement();
        stmt.executeUpdate(sql);
    }
    /**
     * 导出整个数据库到Excel
     * @param conn 数据库连接
     * @param out 输出Stream
     */
    public static void db2Excel(Connection conn,OutputStream out)throws

Exception{
        db2Excel(conn,out,getTables(conn));
    }
    /**
     * 导出数据库中指定的表名到Excel
     * @param conn 数据库连接
     * @param out 输出Stream
     * @param tables 表名
     * @throws Exception
     */
    public static void db2Excel(Connection conn,OutputStream out,List

tables)throws Exception{
        WritableWorkbook wb = jxl.Workbook.createWorkbook(out);

共4页  1 2 3 4


 
 
标签: 虚拟主机 , 环境 , 导出 , 备份数据库 , Excel , 数据 , 主机 , 备份 , 虚拟 打印本文
 
 
  热点搜索
 
 
 



Valid XHTML 1.0 Transitional
Copyright ©2005 - 2008 Rdxx.Com,All Rights Reserved
收藏本页
收藏本站