将SQLDMO.dll文件添加引用到程序中,为什么就我的会出现如下错误信息?
青杨子 2012-05-08 11:38:37 将SQLDMO.dll文件添加引用到程序中,为什么就我的会出现如下错误信息?求高手指点:
数据库备份失败: [Microsoft][ODBC SQL Server Driver][DBNETLIB]SQL Server 不存在或访问被拒绝
[Microsoft][ODBC SQL Server Driver][DBNETLIB]ConnectionOpen (Connect()).
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.Exception: 数据库备份失败: [Microsoft][ODBC SQL Server Driver][DBNETLIB]SQL Server 不存在或访问被拒绝
[Microsoft][ODBC SQL Server Driver][DBNETLIB]ConnectionOpen (Connect()).
源错误:
行 100: catch (Exception ex)
行 101: {
行 102: throw new Exception("数据库备份失败: " + ex.Message);
行 103: }
行 104: finally
源文件: d:\Gowoo\Admin\left.aspx.cs 行: 102
堆栈跟踪:
[Exception: 数据库备份失败: [Microsoft][ODBC SQL Server Driver][DBNETLIB]SQL Server 不存在或访问被拒绝
[Microsoft][ODBC SQL Server Driver][DBNETLIB]ConnectionOpen (Connect()).]
left.DbBackup(String dbName, String backupDBName) in d:\Gowoo\Admin\left.aspx.cs:102
left.Button1_Click(Object sender, EventArgs e) in d:\Gowoo\Admin\left.aspx.cs:65
System.Web.UI.WebControls.Button.OnClick(EventArgs e) +78
System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +100
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +36
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +2863
代码如下:
protected void Button1_Click(object sender, EventArgs e)
{
DbBackup("db_OnLineShop", "db_OnlineShop");
}
public static string DbBackup(string dbName, string backupDBName)
{
SQLDMO.Backup oBackup = new SQLDMO.BackupClass();
SQLDMO.SQLServer oSQLServer = new SQLDMO.SQLServerClass();
try
{
oSQLServer.LoginSecure = false;
//此处IP地址为数据库服务器所在地址
oSQLServer.Connect("127.0.0.1", "sa", "123456");
oBackup.Action = SQLDMO.SQLDMO_BACKUP_TYPE.SQLDMOBackup_Database;
oBackup.Database = "db_OnLineShop";
//此路径为数据库服务器下绝对地址
oBackup.Files = @"E:\\back\\" + backupDBName + ".bak";
oBackup.BackupSetName = backupDBName;
//描述信息
oBackup.BackupSetDescription = "数据库备份";
oBackup.Initialize = true;
//开始备份
oBackup.SQLBackup(oSQLServer);
//返回提示语句
return "数据库已成功经备份到[" + oBackup.Files + "]";
}
catch (Exception ex)
{
throw new Exception("数据库备份失败: " + ex.Message);
}
finally
{
oSQLServer.DisConnect();
}
}