给td备份的java程序
执行后会在td所在机器留一份、本机留一份、ftp服务器留一份
初学java
实现的比较麻烦
有待改进 看过了,发现几个问题:
1。这个主要是针对td的project使用sqlserver数据库的,对于sybase或者oracle恐怕不行
2。有一些特定的参数,是随着不同的使用者而变化的,比如
String FileName = new String("2006111102");这一句里的日期是不是使用者想要备份哪天的数据库而变化的
String userPwd="passwd"这个密码应该是个人sqlserver中用户sa的密码
String sql = "backup database test_group_cef_test_dbtodisk = 'c:\\sun\\"+FileName+"' "; 这里的路径也应该是因人
myftp.connect("ftpserver'ip",21,"name","passwd")而异的应该也是根据实际而不同
lzh 还有什么补充的吗? 谢谢指点
刚学java
闲的 就给自己出了个题目
上面的程序只是来验证方案的可行性
实际操作起来甚至比手工备份还要麻烦
正在尝试做个有界面的应用程序
相关参数就好处理了
对你的建议再次表示感谢 原帖由 selon 于 2006-11-13 14:05 发表
谢谢指点
刚学java
闲的 就给自己出了个题目
上面的程序只是来验证方案的可行性
实际操作起来甚至比手工备份还要麻烦
正在尝试做个有界面的应用程序
相关参数就好处理了
对你的建议再次表示感谢
不用谢,共同研究嘛,不过如果真的能设计出有界面的应用程序,就造福大家了,可以帮你测试哦 呵呵,帮楼主粘贴代码如何?
package Mypackage;
import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.RandomAccessFile;
import java.sql.*;
import org.jibble.simpleftp.SimpleFTP;
import jcifs.smb.*;
public class BackupSql{
public static void main(String args[]){
String FileName = new String("2006111102");
String driver="com.microsoft.jdbc.sqlserver.SQLServerDriver";
try{
Class.forName(driver).newInstance();
System.out.println("load sqldrivice successfull!!");
}catch(Exception e)
{
System.out.println("Can't load!!");
}
try{
String dbURL="jdbc:microsoft:sqlserver://sqlserver's ip:1433;DatabaseName=databasename"; //the sqlserver'ip &the databasename
String userName="sa";
String userPwd="passwd"; //dbo'passwd
Connection con;
con=DriverManager.getConnection(dbURL,userName,userPwd);
String sql = "backup database test_group_cef_test_dbtodisk = 'c:\\sun\\"+FileName+"' ";
PreparedStatement stmt = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
stmt.execute();
System.out.println("backup successfull!!");
}catch(Exception e){
e.printStackTrace();
System.out.println("backup failed!!");
}
try{
SimpleFTP myftp = new SimpleFTP();
File fi = new File("D:\\TDbackup\\"+FileName);
RandomAccessFile getFile = new RandomAccessFile(fi,"r");
String ch;
myftp.connect("ftpserver'ip",21,"name","passwd"); //login the ftpserver
myftp.bin();
myftp.cwd("upload/sun");
System.out.println("uploading wait...");
BufferedReader in = new BufferedReader(new InputStreamReader(new SmbFileInputStream("smb://administrator:leadtone130@192.168.10.130/sun/"+FileName)));
while ((ch=in.readLine())!=null) {
getFile.writeBytes(ch);
}
myftp.stor(new File("D:\\TDbackup\\"+FileName));
System.out.println("upload successfull!!");
myftp.disconnect();
}catch (IOException ex){
ex.printStackTrace();
System.out.println("upload failed!!");
}
}
} 谢谢 呵呵
有界面的东东已经做出来了(只对sql2000备份)
可是还没生成可执行文件(暂时还不会sdlkfj7 )
是这个样子的
(结果的显示有问题 唉 失败)
[ 本帖最后由 selon 于 2006-11-16 13:26 编辑 ] 原帖由 selon 于 2006-11-16 13:03 发表
谢谢 呵呵
有界面的东东已经做出来了(只对sql2000备份)
可是还没生成可执行文件(暂时还不会sdlkfj7 )
是这个样子的
(结果的显示有问题 唉 失败)
不错哦,不过也不用着急,我可以给你测试
页:
[1]