1 #region /*備份還原作業*/
/// <summary>
/// 備份
/// </summary>
/// <param name="username">使用者名稱</param>
/// <param name="pwd">密碼</param>
/// <param name="dbServer">資料庫</param>
/// <param name="pathName">路徑</param>
/// <param name="databaseFileName">備份的檔案名稱</param>
/// <param name="appendCommand">備用參數</param>
/// <param name="logName">記錄檔名</param>
/// <returns></returns>
public bool BackupORACLEDatabase(string username, string pwd, string dbServer, string pathName, string databaseFileName, string appendCommand, string logName, string sqlTextConfig)
{
this.SQLTextFileName = pathName+"\\"+sqlTextConfig;
#region /*XMLSQL角本產生*/
if (File.Exists(SQLTextFileName))
{
File.Delete(SQLTextFileName);
}
//備份庫資訊
DBEntity dbentity = new DBEntity();
dbentity.DBServer = dbServer;
dbentity.UserName = username;
dbentity.Pwd = pwd;
WriteXMLUserSpaceConfig(dbentity);
#endregion
//exp userid=system/zhice@jc full=y INDEXES=n grants=y rows=y compress=N file=d:\demo.dmp log=d:\demo.log
string loginString = string.Format("userid={0}/{1}@{2}", username, pwd, dbServer);
string fileName = "EXP";
string arguments = string.Format("{0} full=y file={1} log={2} ", loginString, pathName + "\\" + databaseFileName, pathName + "\\" + logName);
string backupCommand = string.Format("{0} {1}", fileName, arguments);
try
{
System.Diagnostics.Process bakupProcess = new System.Diagnostics.Process();
bakupProcess.StartInfo.FileName = fileName;
bakupProcess.StartInfo.Arguments = arguments;
bakupProcess.Start();
return true;
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine(ex);
return false;
}
}
/// <summary>
/// 還原
/// </summary>
/// <param name="username">使用者名稱</param>
/// <param name="pwd">密碼</param>
/// <param name="dbServer">資料庫</param>
/// <param name="pathName">路徑</param>
/// <param name="databaseFileName">備份的檔案名稱</param>
/// <param name="appendCommand">備用參數</param>
/// <param name="logName">記錄檔名</param>
/// <returns></returns>
public bool ImpORACLEDatabase(string username, string pwd, string dbServer, string pathName, string databaseFileName, string appendCommand, string logName, string sqlTextConfig)
{
this.SQLTextFileName = sqlTextConfig;
#region /*XMLSQL角本執行*/
//備份庫資訊
DBEntity dbentity = new DBEntity();
dbentity.DBServer = dbServer;
dbentity.UserName = username;
dbentity.Pwd = pwd;
if (File.Exists(SQLTextFileName) && SQLTextFileName!=string.Empty)
{
ExeUserSpaceSQL(dbentity);
}
#endregion
//imp userid=system/zhice@jc ignore=y rows=y indexes=n full=y file=d:\demo.dmp log=d:\demo.log
string loginString = string.Format("userid={0}/{1}@{2}", username, pwd, dbServer);
string fileName = "IMP";
string arguments = string.Format("{0} full=y file={1} log={2} ", loginString, pathName + "\\" + databaseFileName, pathName + "\\" + logName);
string backupCommand = string.Format("{0} {1}", fileName, arguments);
try
{
System.Diagnostics.Process bakupProcess = new System.Diagnostics.Process();
bakupProcess.StartInfo.FileName = fileName;
bakupProcess.StartInfo.Arguments = arguments;
bakupProcess.Start();
return true;
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine(ex);
return false;
}
}
#endregion