无组件的数据库的备份与还原

王朝other·作者佚名  2006-12-16
窄屏简体版  字體: |||超大  

看过数据库的备份与还原。大多数都是用组件来完成的。其实可通过sql语句来完成。

由于时间关系,未对参数进行验证和界面美化。代码仅供参考。

共计4个文件:下载地址:http://ad.ceh.com.cn/sql.rar

conn.asp

<%

conn="Provider=SQLOLEDB.1;Persist Security Info=false;Server=127.0.0.1;UID=sa;pwd=www.zhi.net;database=master"

function rec(rs,sql)

set rs = server.CreateObject("ADODB.Recordset")

rs.Activeconnection = conn

rs.Source = sql

rs.CursorType = 0

rs.Cursorlocation = 3

rs.LockType = 1

rs.Open

if rs.eof and rs.bof then

rec= false

else

rec= true

end if

end function

function cmd(sql)

dim cmd1

set cmd1 = server.CreateObject("ADODB.Command")

cmd1.ActiveConnection = conn

cmd1.CommandText = sql

cmd1.CommandType = 1

cmd1.CommandTimeout = 0

cmd1.Prepared = true

cmd1.Execute()

end function

function cdb(rs)

rs.close()

set rs=nothing

end function

%>

dev.asp

<!--#include file="conn.asp"-->

<%

if request("AddDev") <> "" then

sql="select name,phyname from master..sysdevices where status=16 and name='"&request("devname")&"'"

rec chk,sql

if chk.eof and chk.bof then

sql = "sp_addumpdevice 'disk','"&request("devname")&"','"&request("phyname")&"'"

cmd sql

response.Write "<script language=javascript>window.location=reload;</script>"

else

response.Write "<script language=javascript>alert('数据库中已存在"&request("devname")&"设备!');window.location='cmd.asp';</script>"

end if

end if

if request("deldev") <> "" then

sql = "sp_dropdevice '"&request("devname")&"'"

cmd sql

response.Write "<script language=javascript>window.location=reload;</script>"

end if

rec li,"select name,phyname from master..sysdevices where status=16"

if li.eof and li.bof then

response.Write "<font color=#ff0000>请新建备份设备用来备份还原数据库</font>"

else

%><style type="text/css">

<!--

body {

margin-left: 0px;

margin-top: 0px;

}

-->

</style>

<table width="60%" border="0" cellspacing="0">

<tr>

<td width="29%">名称:</td>

<td width="71%">位置:</td>

</tr>

<%

i=0

while not li.eof

i=i+1

%>

<tr>

<td><%=li(0)%></td>

<td><%=li(1)%> <a href='dev.asp?DelDev=1&devname=<%=li(0)%>'>删除此设备</a></td>

</tr>

<%

li.movenext

wend

response.Write "<script language=javascript>top.document.all.dev.height='"&(i+1)*25&"';</script>"

cdb li

%>

</table>

<%

end if

%>

default.asp

<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>

<!--#include file="conn.asp"-->

<%

||||||'*************************************************

'数据库备份与还原

'编 程:魔术师·杨(MagicYang.CN)

'完成日期:2004-4-11

'说明:由于时间关系,未对数据做安全性验证。

'应用时请对数据进行验证,确保安全。

'QQ:1168064 欢迎大家互相交流

'*************************************************

%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312">

<title>数据库的备份与还原</title>

</head>

<body>

<%

%>

<table width="80%" border="0" align="center">

<tr>

<td width="21%" valign="top">数据库设备:</td>

<td width="79%">

<iframe name="dev" src="dev.asp" width="100%" height="200" frameborder="0" scrolling="no"></iframe>

</td>

</tr>

<tr>

<td>添加设备:</td>

<td>设备名称:

<input name="devname" type="text" id="devname" size="10" maxlength="10"></td>

</tr>

<tr>

<td>&nbsp;</td>

<td>文件路径:

<input name="phyname" type="text" id="phyname" size="20" maxlength="50">

<input type="button" value="添加设备" onClick="document.all.dev.src='dev.asp?AddDev=1&devname='+document.all.devname.value+'&phyname='+document.all.phyname.value;"></td>

</tr>

<tr>

<td valign="top">备份/还原:</td>

<td>

数据库名称:

<%

rec li,"select name from master..sysdatabases where status=16"

%>

<select name="b_data">

<%

while not li.eof

response.Write "<option value="&li(0)&">"&li(0)&"</option>"

li.movenext

wend

cdb li

%>

</select><br>

备份到设备:<%

rec li,"select name,phyname from master..sysdevices where status=16"

%>

<select name="b_dev">

<%

while not li.eof

response.Write "<option value="&li(0)&">"&li(0)&"(文件:"&li(1)&")</option>"

li.movenext

wend

cdb li

%>

</select><br>

<input name="按钮" type="button" value="备份数据库" onClick="window.location='cmd.asp?action=backup&database='+document.all.b_data.value+'&dev='+document.all.b_dev.value;">

&nbsp;

<input name="按钮" type="button" value="还原数据库" onClick="window.location='cmd.asp?action=RESTORE&database='+document.all.b_data.value+'&dev='+document.all.b_dev.value;"> </td>

</tr>

<tr>

<td>&nbsp;</td>

<td>&nbsp;</td>

</tr>

</table>

</body>

</html>

cmd.asp

<!--#include file="conn.asp"-->

<%

on error resume next

if request("action") <> "" then

if request("action")="backup" then

sql ="BACKUP DATABASE "&request("database")&" To "& request("dev")

cmd sql

if err.number > 0 then

response.Write "<script language=javascript>alert('数据库"&request("database")&"备份失败!');window.location='default.asp';</script>"

else

response.Write "<script language=javascript>alert('数据库"&request("database")&"备份成功!');window.location='default.asp';</script>"

end if

else

sql ="RESTORE DATABASE "&request("database")&" From "& request("dev")

cmd sql

if err.number > 0 then

response.Write "<script language=javascript>alert('数据库"&request("database")&"还原失败!');window.location='default.asp';</script>"

else

response.Write "<script language=javascript>alert('数据库"&request("database")&"还原成功!');window.location='default.asp';</script>"

end if

end if

end if

%>

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航