日期:2014-05-17  浏览次数:20476 次

执行命令定义时出错
在做数据库恢复时,抛出异常。。。
如图:

代码如下:
 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();              
            }
            o