SQLDMO(SQL Distributed Management Objects,SQL分布式管理对象)是MS开发的一组COM组件。 //取得服务器列表 private ArrayList GetServerList() { System.Collections.ArrayList alServers = new System.Collections.ArrayList(); SQLDMO.Application sqlApp = new SQLDMO.ApplicationClass(); try { SQLDMO.NameList serverList = sqlApp.ListAvailableSQLServers(); for(int i = 1; i <= serverList.Count; i++) { alServers.Add(serverList.Item(i)); } } catch(Exception e) { throw(new Exception("取数据库服务器列表出错:"+e.Message)); } finally { sqlApp.Quit(); } return alServers; } //获得服务器上的数据库列表 private bool GetDbList(string strServerName,string strUserName,string strPwd) { bool bolReturn = false; ArrayList alDbs = new ArrayList(); SQLDMO.Application sqlApp = new SQLDMO.ApplicationClass(); SQLDMO.SQLServer svr = new SQLDMO.SQLServerClass(); try { svr.Connect(strServerName, strUserName, strPwd); foreach(SQLDMO.Database db in svr.Databases) { if(db.Name!=null) alDbs.Add(db.Name); } this.cmbDb.DataSource = alDbs; bolReturn = true; } catch(Exception e) { throw(new Exception("连接数据库出错:"+e.Message)); } finally { svr.DisConnect(); sqlApp.Quit(); } return bolReturn; } //数据库备份 private void DbBackUp(string savepath, string database) { SQLDMO.SQLServer svr = new SQLDMO.SQLServerClass(); try { svr.Connect(this.server, this.userid, this.password); SQLDMO.Backup bak = new SQLDMO.BackupClass(); SQLDMO.BackupSink_PercentCompleteEventHandler pceh = new SQLDMO.BackupSink_PercentCompleteEventHandler(SetBarVisible); bak.PercentComplete += pceh; bak.Action = SQLDMO.SQLDMO_BACKUP_TYPE.SQLDMOBackup_Database; bak.Initialize = true; bak.Files = savepath + @"\1.bak"; bak.Database = database; bak.SQLBackup(svr); } catch(System.Exception xx) { throw(new Exception("备份数据库失败" + xx.Message)); } finally { svr.DisConnect(); } } 相关文章: 2021-12-04 2022-12-23 2021-09-11 2021-07-10 2022-12-23 2021-11-06 2021-10-13