如何得到服务器端数据库列表并备份和恢复数据库
2006-06-29 09:00
393 查看
<%
@Import Namespace="System.Data" %>
<%
@Import Namespace="System.Data.SqlClient" %>
<HTML>
<HEAD>
<title>获取服务器端数据库列表示例</title>
<script language="C#" runat="server">
// 注意本节的数据库连接字符串
string ConnStr = System.Configuration.ConfigurationSettings.AppSettings["ConnectionSqlServer1"];
void Page_Load(object sender, System.EventArgs e)
{
if(!IsPostBack)
{
// 创建连接及执行数据库操作
string db_query = "sp_helpdb";
SqlCommand myCommand = new SqlCommand(db_query, new SqlConnection(ConnStr));
myCommand.Connection.Open();
SqlDataReader dr = myCommand.ExecuteReader();
// 将数据库列表绑定到下拉列表控件(DropDownList)
dbDropDownList.DataSource = dr;
dbDropDownList.DataTextField = "name";
dbDropDownList.DataBind();
//关闭DataReader对象和数据库连接
dr.Close();
myCommand.Connection.Close();
}
}
void dbDropDownList_SelectedIndexChanged(object sender, System.EventArgs e)
{
pathTextBox.Text = @"C:/BACKUP/" + dbDropDownList.SelectedValue + ".bak";
}
void backupButton_Click(object sender, System.EventArgs e)
{
string path = pathTextBox.Text;
string dbname = dbDropDownList.SelectedValue;
string backupSql = "use master;";
backupSql += "backup database @dbname to disk = @path;";
SqlCommand myCommand = new SqlCommand(backupSql, new SqlConnection(ConnStr));
myCommand.Parameters.Add("@dbname", SqlDbType.Char);
myCommand.Parameters["@dbname"].Value = dbname;
myCommand.Parameters.Add("@path", SqlDbType.Char);
myCommand.Parameters["@path"].Value = path;
try
{
myCommand.Connection.Open();
myCommand.ExecuteNonQuery();
infoLabel.Text = "备份成功";
}
catch(Exception ex)
{
infoLabel.Text = "备份失败<br>" + ex.ToString();
}
finally
{
myCommand.Connection.Close();
}
}
void restoreButton_Click(object sender, System.EventArgs e)
{
string path = pathTextBox.Text;
string dbname = dbDropDownList.SelectedValue;
string restoreSql = "use master;";
restoreSql += "restore database @dbname from disk = @path;";
SqlCommand myCommand = new SqlCommand(restoreSql, new SqlConnection(ConnStr));
myCommand.Parameters.Add("@dbname", SqlDbType.Char);
myCommand.Parameters["@dbname"].Value = dbname;
myCommand.Parameters.Add("@path", SqlDbType.Char);
myCommand.Parameters["@path"].Value = path;
try
{
myCommand.Connection.Open();
myCommand.ExecuteNonQuery();
infoLabel.Text = "恢复成功";
}
catch(Exception ex)
{
infoLabel.Text = "恢复失败<br>" + ex.ToString();
}
finally
{
myCommand.Connection.Close();
}
}
</script>
</HEAD>
<body>
<form id="Form1" method="post" runat="server">
<h3>获取服务器端数据库列表示例</h3>
数据库列表:
<asp:dropdownlist id="dbDropDownList" runat="server" AutoPostBack="True"
OnSelectedIndexChanged="dbDropDownList_SelectedIndexChanged"></asp:dropdownlist>
<br><br>
请输入备份目录及备份文件名:
<asp:textbox id="pathTextBox" runat="server" Width="224px">
C:/BACKUP/Northwind.bak</asp:textbox>(目录必须存在)
<br><br>
<asp:button id="backupButton" runat="server" Font-Size="9pt" Text="备份数据库"
OnClick="backupButton_Click"></asp:button>
<asp:button id="restoreButton" runat="server" Font-Size="9pt" Text="恢复数据库"
OnClick="restoreButton_Click"></asp:button>
<br><br>
<asp:Label id="infoLabel" runat="server"></asp:Label>
</form>
</body>
</HTML>
相关文章推荐
- 如何得到服务器端数据库列表 并 备份和恢复数据库 [copy]
- 如何通过Web方式把服务器端的数据库备份到本地的电脑硬盘中?
- (精)如何利用T_SQL实现数据库备份与还原处理之一--(如何利用sql语句,得到数据库文件目录)
- 如何通过Web方式把服务器端的数据库备份到本地的电脑硬盘中?
- 如何通过Web方式把服务器端的数据库备份到本地的电脑硬盘中?
- 如何通过Web方式把服务器端的数据库备份到本地的电脑硬盘中?
- Facebook如何实现PB级别数据库自动化备份
- SQL Server2005如何进行数据库定期备份
- JSP 如何获取下拉列表的选中的值是数据库表的对应数据
- 【转载】如何备份数据库和删除备份
- 如何得到JDBC Insert 语句执行后插入Oracle 数据库记录的主键
- 如何为下拉列表的文本复制与如何得到下拉列表选中项的文本值
- 如何使用 MySQL Administrator 管理/备份/还原 My SQL 数据库
- MongoDB的数据库如何备份和恢复?
- 如何将数据库中存的树转化为树形列表(以easyui的tree为例)
- 如何得到当前所在的sql的数据库名称
- [轉]如何使用 MySQL Administrator 管理/备份/还原 My SQL 数据库
- 在C#中用SQLDMO得到指定SQL服务器所有数据库的列表
- SQLDMO备份数据库,如何去除备份路径里的空格
- 如何备份数据库到本地映射网络驱动器