问题描述
各位大哥,我在c#中实现数据库的还原,代码如下SQLDMO.RestoreoRestore=newSQLDMO.RestoreClass();SQLDMO.SQLServeroSQLServer=newSQLDMO.SQLServerClass();try{SQLDMO.QueryResultsqr=oSQLServer.EnumProcesses(-1);intiColPIDNum=-1;intiColDbName=-1;for(inti=1;i<=qr.Columns;i++){stringstrName=qr.get_ColumnName(i);if(strName.ToUpper().Trim()=="SPID"){iColPIDNum=i;}elseif(strName.ToUpper().Trim()=="DBNAME"){iColDbName=i;}if(iColPIDNum!=-1&&iColDbName!=-1)break;}for(inti=1;i<=qr.Rows;i++){intlPID=qr.GetColumnLong(i,iColPIDNum);stringstrDBName=qr.GetColumnString(i,iColDbName);if(strDBName.ToUpper()=="CHN_DLSchoolWeb")oSQLServer.KillProcess(lPID);}oSQLServer.LoginSecure=false;oSQLServer.Connect(strs[0],strs[1],strs[2]);oRestore.Action=SQLDMO.SQLDMO_RESTORE_TYPE.SQLDMORestore_Database;oRestore.Database="CHN_DLSchoolWeb";oRestore.Files="["+Server.MapPath("../Admin/DataBack/")+sb.ToString()+".bak]";oRestore.FileNumber=1;oRestore.ReplaceDatabase=true;oRestore.SQLRestore(oSQLServer);
但是当我执行到SQLDMO.QueryResultsqr=oSQLServer.EnumProcesses(-1);这句的时候就抛出了这个异常:{System.Runtime.InteropServices.ExternalException}={"[SQL-DMO]未连接此服务器对象。"},这是怎么回事啊,是我没有启动什么服务么,还望各位不吝赐教。谢谢!
解决方案
解决方案二:
没人理啊,自己up一下