执行命令定义时出错
在做数据库恢复时,抛出异常。。。
如图:
代码如下:
public void DbRestore(string fileName)
{
SQLDMO.Restore oRestore = new SQLDMO.RestoreClass();
SQLDMO.SQLServer oSQLServer = new SQLDMO.SQLServerClass();
try
{
SqlConnection conn = new SqlConnection();
conn.ConnectionString = "Data Source=.;Initial Catalog=master;User ID=sa;pwd =123456;pooling=false";
conn.Open();
//查找当前名为PUBS的数据库使用进程
string sql = "select spid from sysprocesses,sysdatabases where sysprocesses.dbid=sysdatabases.dbid and sysdatabases.Name = 'VisionMaster'";
SqlCommand cmd1 = new SqlCommand(sql, conn);
SqlDataReader dr;
ArrayList list = new ArrayList();
try
{
dr = cmd1.ExecuteReader();
while (dr.Read())
{
list.Add(dr.GetInt16(0));
}
dr.Close();
}
catch (SqlException)
{
conn.Close();
}
for (int i = 0; i < list.Count; i++)
{
cmd1 = new SqlCommand(string.Format("KILL {0}", list[i].ToString()), conn);
cmd1.ExecuteNonQuery();
}
oSQLServer.LoginSecure = false;
oSQLServer.Connect("localhost", "sa", "123456");
oRestore.Action = SQLDMO.SQLDMO_RESTORE_TYPE.SQLDMORestore_Database;
oRestore.Database = "VisionMaster";
string filePath = Server.MapPath("~\\Data\\" + fileName);
oRestore.Files = filePath;
oRestore.FileNumber = 1;
oRestore.ReplaceDatabase = true;
oRestore.SQLRestore(oSQLServer);
}
catch(Exception ex)
{
throw ex;
}
finally
{
oSQLServer.DisConnect();
Response.Write("<script>window.close();</script>");
ui.AlertRedirect(this, "恢复成功,请重新数据库连接服务", "../Login.aspx");
}
}
[解决办法]
那你就找oSQLServer 看这个对象对不对。
[解决办法]
SQLDMO 这什么玩意? 自定义的类? F11进去慢慢调吧
[解决办法]
我的意思你先建立一个Windows或者Console界面的程序测试一下代码。