在虚拟主机的环境下,因为没有管理员权限,只有数据库使用权限,定时备份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数据库到文件,整个数据库备份<