import java.io.*;
創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),卓資企業(yè)網(wǎng)站建設(shè),卓資品牌網(wǎng)站建設(shè),網(wǎng)站定制,卓資網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷(xiāo),網(wǎng)絡(luò)優(yōu)化,卓資網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
public class MyCopy {
public static void main(String args[]){
try {
MyCopy j = new MyCopy(); j.CopyFile(new File(args[0]),new File(args[1]));
}
catch (Exception e) {
e.printStackTrace();
}
}
public void CopyFile(File in, File out) throws Exception {
FileInputStream fis = new FileInputStream(in);
FileOutputStream fos = new FileOutputStream(out);
byte[] buf = new byte[1024];
int i = 0;
while((i=fis.read(buf))!=-1) {
fos.write(buf, 0, i);
}
fis.close();
fos.close();
}
}
// 程序運(yùn)行時(shí)的命令語(yǔ)法為:
// javac MyCopy.java (sourcefile) (destfile)
// java MyCopy.java c:\1.txt d:\1.txt
// 當(dāng)然前提c盤(pán)1.txt 已存在。
最簡(jiǎn)單的SQL語(yǔ)句:備份與還原SQL Server自帶的數(shù)據(jù)庫(kù)
在服務(wù)器上備份:
use Northwind
Backup database Northwind to disk='d:\Northwind_bak.dat' with init
RESTORE DATABASE NorthNwind FROM DISK = 'd:\Northwind_bak.dat'
備份數(shù)據(jù)庫(kù)這一操作在客戶機(jī)上實(shí)現(xiàn)
客戶機(jī):machine
共享目錄:share (要完全共享,可寫(xiě)權(quán)限)
backup:
bakcup database dbname to disk='\\machine\share\data.bak' with init
\\machine\share目錄要有寫(xiě)權(quán)限。
restore:
restore database dbname from disk='\\machine\share\data.bak'
//
備注:restore 語(yǔ)句有很多的選項(xiàng),可以查看企業(yè)管理器的在線幫助。如下
with replace, move 'dbname_dat' to 'c:\mssql7\data\dbname.mdf',
move 'dbname_log' to 'c:\mssql7\data\dbname.log'
其中'c:\mssql7\data\'是服務(wù)器的目錄,這點(diǎn)要注意
備份與還原數(shù)據(jù)庫(kù)的相關(guān)內(nèi)容:
SQL Server 7.0數(shù)據(jù)庫(kù)備份有四種:完全數(shù)據(jù)庫(kù)備份、增量數(shù)據(jù)庫(kù)備份、事務(wù)日志備份、數(shù)據(jù)庫(kù)文件或文件組備份。在數(shù)據(jù)庫(kù)崩潰時(shí),應(yīng)該首先嘗試備份事務(wù)日志(這一點(diǎn)很重要),然后恢復(fù)最后的數(shù)據(jù)庫(kù)備份、該次數(shù)據(jù)庫(kù)備份后的所有增量備份,最后恢復(fù)事務(wù)日志備份,這樣可以將數(shù)據(jù)庫(kù)恢復(fù)到崩潰前的狀態(tài)。
備份是定期的,而不是實(shí)時(shí)的,所以利用備份并不能完全恢復(fù)數(shù)據(jù)庫(kù),它只能將數(shù)據(jù)庫(kù)恢復(fù)到制作備份的那一刻 ...... 數(shù)據(jù)庫(kù)日志是實(shí)時(shí)的,他忠實(shí)的記錄下所有對(duì)數(shù)據(jù)庫(kù)的更新操作。因此,當(dāng)磁盤(pán)出現(xiàn)故障造成數(shù)據(jù)庫(kù)損壞時(shí),就可以首先利用備份恢復(fù)數(shù)據(jù)庫(kù)(大部分?jǐn)?shù)據(jù)),然后運(yùn)行數(shù)據(jù)庫(kù)日志,即將備份后所做的操作重新在做一遍,從而將數(shù)據(jù)庫(kù)完全恢復(fù)。
--備份完整的數(shù)據(jù)庫(kù)---------------------------------------------------------------
//創(chuàng)建一個(gè)備份設(shè)備:
1. Create the backup device for the full MyNwind backup.///
USE master
EXEC sp_addumpdevice 'disk', 'MyNwind_2', 'c:\mssql7\backup\MyNwind_2.dat'
2. Back up the full MyNwind database.
BACKUP DATABASE MyNwind TO MyNwind_2
--備份數(shù)據(jù)庫(kù)的日志---------------------------------------------------------------
--1. Create the log backup device.
USE master
EXEC sp_addumpdevice 'disk', 'MyNwindLog1', 'c:\mssql7\backup\MyNwindLog1.dat'
--2. Update activity has occurred before this point. Back up the log of the MyNwind database.
BACKUP LOG MyNwind TO MyNwindLog1
try
AdoQuery1.Close;
AdoQuery1.SQL.Clear;
AdoQuery1.SQL.Add('backup database pubs');
AdoQuery1.SQL.Add('to disk='+''''+edtPath.Text+'''');
AdoQuery1.ExecSQL;
except
ShowMessage('備份數(shù)據(jù)庫(kù)失??!');
exit;
end;
SQL server的備份
=========================================================================
=========================================================================
備份:
with adocommand_restore do//用ADocommand控件
begin
CommandText:='use Master';//
Execute;
CommandText:='execute sp_helpdevice';//系統(tǒng)存儲(chǔ)過(guò)程
Execute ;
CommandText:='backup database '+'db_name'+' to disk='''+FileName+''' with init';//這行應(yīng)當(dāng)是這樣
Execute ;
CommandText:='Use '+'db_name';//這行應(yīng)當(dāng)是這樣
Execute ;
application.MessageBox('已經(jīng)成功備份數(shù)據(jù)庫(kù)','數(shù)據(jù)庫(kù)備份',MB_OK + MB_ICONINFORMATION);
end;
恢復(fù):
with adocommand1 do//用AdoCommand控件
begin
CommandText:='use Master';
Execute;
CommandText:='execute sp_helpdevice';
Execute ;
CommandText:='Restore database '+'db_name'+' From disk='''+'c:\data1.bak'+''' with replace';//這行應(yīng)當(dāng)是這樣
Execute ;
CommandText:='Use '+'db_name';//這行應(yīng)當(dāng)是這樣
Execute ;
application.MessageBox('已經(jīng)成功恢復(fù)數(shù)據(jù)庫(kù)','數(shù)據(jù)庫(kù)恢復(fù)',MB_OK + MB_ICONINFORMATION);
end;
*注:db_name指數(shù)據(jù)庫(kù)的名稱
將MySql中的數(shù)據(jù)庫(kù)導(dǎo)出到文件中 備份
import java.io.*;
import java.lang.*;
public class BeiFen {
public static void main(String[] args) {
// 數(shù)據(jù)庫(kù)導(dǎo)出
String user = "root"; // 數(shù)據(jù)庫(kù)帳號(hào)
String password = "root"; // 登陸密碼
String database = "test"; // 需要備份的數(shù)據(jù)庫(kù)名
String filepath = "e:\\test.sql"; // 備份的路徑地址
String stmt1 = "mysqldump " + database + " -u " + user + " -p"
+ password + " --result-file=" + filepath;
/*
* String mysql="mysqldump test -u root -proot
* --result-file=d:\\test.sql";
*/
try {
Runtime.getRuntime().exec(stmt1);
System.out.println("數(shù)據(jù)已導(dǎo)出到文件" + filepath + "中");
}
catch (IOException e) {
e.printStackTrace();
}
}
}
將數(shù)據(jù)從磁盤(pán)上的文本文件還原到MySql中的數(shù)據(jù)庫(kù)
import java.io.*;
import java.lang.*;
/*
* 還原MySql數(shù)據(jù)庫(kù)
* */
public class Recover {
public static void main(String[] args) {
String filepath = "d:\\test.sql"; // 備份的路徑地址
//新建數(shù)據(jù)庫(kù)test
String stmt1 = "mysqladmin -u root -proot create test";
String stmt2 = "mysql -u root -proot test " + filepath;
String[] cmd = { "cmd", "/c", stmt2 };
try {
Runtime.getRuntime().exec(stmt1);
Runtime.getRuntime().exec(cmd);
System.out.println("數(shù)據(jù)已從 " + filepath + " 導(dǎo)入到數(shù)據(jù)庫(kù)中");
} catch (IOException e) {
e.printStackTrace();
}
}
}