数据备份问题

zhaozhixiao 2010-09-11 09:33:38
如何在vs中实现数据库备份
...全文
169 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhaozhixiao 2010-09-11
  • 打赏
  • 举报
回复
备份的路径写不对怎么
zhaozhixiao 2010-09-11
  • 打赏
  • 举报
回复
SQLDMO.Backup myBackUp = new SQLDMO.BackupClass();
SQLDMO.SQLServer mySQlServer = new SQLDMO.SQLServerClass();
mySQlServer.LoginSecure = false;
mySQlServer.Connect(DBHelper.Connection.DataSource, "sa", "000000");
myBackUp.Action = SQLDMO.SQLDMO_BACKUP_TYPE.SQLDMOBackup_Database;
myBackUp.Database = "jxcDB";
myBackUp.Files = "D:\beifen";
myBackUp.BackupSetName = "dbjxc";
myBackUp.BackupSetDescription = "数据库备份";
myBackUp.Initialize = true;
myBackUp.SQLBackup(mySQlServer);

写的对吗
zhaozhixiao 2010-09-11
  • 打赏
  • 举报
回复
无法打开备份设备 'D:eifen'。出现操作系统错误 123(文件名、目录名或卷标语法不正确。)
HolyPlace 2010-09-11
  • 打赏
  • 举报
回复
如果使用sqldmo需要这样

SQLDMO.Backup myBackUp = new SQLDMO.BackupClass();
SQLDMO.SQLServer mySQlServer = new SQLDMO.SQLServerClass();
mySQlServer.LoginSecure = false;
mySQlServer.Connect(connect.DataSource, “用户", "密码");
myBackUp.Action = SQLDMO.SQLDMO_BACKUP_TYPE.SQLDMOBackup_Database;
myBackUp.Database = "数据库名";
myBackUp.Files = "备份文件名";
myBackUp.BackupSetName = "数据库名";
myBackUp.BackupSetDescription = "数据库备份";
myBackUp.Initialize = true;
myBackUp.SQLBackup(mySQlServer);
zhaozhixiao 2010-09-11
  • 打赏
  • 举报
回复
我非常需要你教我一下
pingxingguaiguai 2010-09-11
  • 打赏
  • 举报
回复
学习一下
zhaozhixiao 2010-09-11
  • 打赏
  • 举报
回复
using System;
using System.Collections.Generic;
using System.IO;
using System.Text;
using SQLDMO; //添加引用C:Program FilesMicrosoft SQL Server80ToolsBinnSQLDMO.dll

namespace JXC_proBLL
{
///
/// 对SQL Server数据库备份文件进行管理。提供备份、还原、备份文件管理操作。
///
public class DBBakManager
{



private string _serverName;
private string _userName;
private string _password;
private string _dbName;




///
/// 构造函数
///
/// 数据库服务器名
/// 数据库用户名
/// 用户密码
/// 数据库名
public DBBakManager(string serverName, string userName, string password, string dbName)
{
_serverName = serverName;
_userName = userName;
_password = password;
_dbName = dbName;
}





///
/// 备份数据库
///
/// 保存的备份文件路径(包括文件名,文件名格式为:"DBName(yyyyMMddHHmm).bak")
/// 操作成功返回true,否则返回false
public static bool BackUpDB(string saveFileName)
{
SQLDMO.SQLServer svr = new SQLDMO.SQLServerClass();
try
{
svr.Connect(_serverName, _userName, _password);
SQLDMO.Backup bak = new SQLDMO.BackupClass();
bak.Action = SQLDMO.SQLDMO_BACKUP_TYPE.SQLDMOBackup_Database;
bak.Initialize = true;
bak.Database = _dbName;
bak.Files = saveFileName;
bak.SQLBackup(svr);
return true;
}
catch (Exception err)
{
return false;
}
finally
{
svr.Close();
}
}

提示错误 23 非静态的字段、方法或属性“JXC_proBLL.DBBakManager._password”要求对象引用 D:\jxc_pro\JXC_proBLL\DBBakManager.cs 96 53 JXC_proBLL
lz00728 2010-09-11
  • 打赏
  • 举报
回复
SQLDMO.dll在com组件中导入Microsoft SQLDMO Object Library即可
wuyq11 2010-09-11
  • 打赏
  • 举报
回复
VS中添加SQLDMO引用
备份
BACKUP DATABASE text
to disk='c:\11.bak' with init

还原
RESTORE DATABASE CDJTLZGIS
FROM DISK = 'c:\33.bak'
WITH MOVE 'CDJTLZGIS_Data' TO 'c:\CDJTLZGIS_Data',
MOVE 'CDJTLZGIS_Log' TO 'c:\CDJTLZGIS_Log'

using(SqlConnection Sql = new SqlConnection(ConnStr))
{
SqlCommand cmd = new SqlCommand("Data_Backup", Sql);
Sql.Open();
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@dbname", SqlDbType.VarChar).Value = "Project";
cmd.Parameters.Add("@bkpath", SqlDbType.VarChar).Value = Server.MapPath("../Data/");
try
{
cmd.ExecuteNonQuery();
cmd.Dispose();
Sql.Close();
}
catch (Exception ex)
{
cmd.Dispose();
Sql.Close();
throw new Exception("" + ex.Message + "");
}
}
SQLDMO.Backup oBackup = new SQLDMO.BackupClass();
SQLDMO.SQLServer oSQLServer = new SQLDMO.SQLServerClass();
SQLDMO.BackupSink_PercentCompleteEventHandler pceh = new SQLDMO.BackupSink_PercentCompleteEventHandler(Step);
zhaozhixiao 2010-09-11
  • 打赏
  • 举报
回复
SQLDMO.dll得下载吗 从哪引用啊
porschev 2010-09-11
  • 打赏
  • 举报
回复
冰川711 2010-09-11
  • 打赏
  • 举报
回复
用SQL语句就可以了。

比如备份Northwind

SQL:
backup database Northwind to disk='c:\backuptext.dat'

所以程序这样写:

string myExecuteQuery = "backup database Northwind to disk='c:\backuptext.dat'";
SqlCommand myCommand = new SqlCommand(myExecuteQuery, myConnection);
myCommand.Connection.Open();
myCommand.ExecuteNonQuery();
myConnection.Close();
ycg_893 2010-09-11
  • 打赏
  • 举报
回复
自己写一个备份语句就行了,用不着引用

62,271

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧