//
取得服务器列表
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();
}
}
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();
}
}