oracle数据库恢复的imp,:vc中怎么使用exp/imp命令备份/恢复oracle数据库

C/C++ code// 以太工作室 东东

BOOL Ping(LPCTSTR szTarget, DWORD &dwTime)

{

BOOL bSuccess = FALSE;

dwTime = INFINITE;

if(szTarget == NULL)

{

TRACE0("Target Is NULL\n");

return FALSE;

}

TCHAR szCmdLine[80];

if(_sntprintf(szCmdLine, sizeof(szCmdLine) / sizeof(TCHAR),

_T("ping.exe -n 1 %s"), szTarget) == sizeof(szCmdLine) / sizeof(TCHAR))

{

TRACE0("Target Is Too Long\n");

return FALSE;

}

HANDLE hWritePipe = NULL;

HANDLE hReadPipe = NULL;

HANDLE hWriteShell = NULL;

HANDLE hReadShell = NULL;

SECURITY_ATTRIBUTES  sa;

memset(&sa, 0, sizeof(sa));

sa.nLength = sizeof(sa);

sa.bInheritHandle = TRUE;

sa.lpSecurityDescriptor = NULL;

if(CreatePipe(&hReadPipe, &hReadShell, &sa, 0)

&& CreatePipe(&hWriteShell, &hWritePipe, &sa, 0))

{

STARTUPINFOsi;

memset(&si, 0, sizeof(si));

si.cb      = sizeof(si);

si.dwFlags    = STARTF_USESHOWWINDOW | STARTF_USESTDHANDLES;

si.hStdInput  = hWriteShell;

si.hStdOutput  = hReadShell;

si.hStdError  = hReadShell;

si.wShowWindow  = SW_HIDE;

PROCESS_INFORMATIONpi;

memset(&pi, 0, sizeof(pi));

int nMin = -1, nMax = -1, nAvg = -1;

if(CreateProcess(NULL, szCmdLine, NULL, NULL, TRUE, 0, NULL, NULL, &si, &pi))

{

if(WaitForSingleObject(pi.hProcess, 10000) == WAIT_OBJECT_0)

{

TCHAR szBuffer[1024];

DWORD dwBytes;

if(ReadFile(hReadPipe, szBuffer, sizeof(szBuffer), &dwBytes, NULL))

{

szBuffer[dwBytes] = '\0';

LPTSTR lpszTime = NULL;

lpszTime = _tcsstr(szBuffer, _T("Request timed out"));

if(lpszTime == NULL)

{

lpszTime = _tcsstr(szBuffer, _T("Minimum"));

if(lpszTime != NULL)

{

if(_stscanf(lpszTime, _T("Minimum = %dms, Maximum = %dms, Average = %dms"),

&nMin, &nMax, &nAvg) == 3)

{

TRACE3("%d, %d, %d\n", nMin, nMax, nAvg);

dwTime = nAvg;

bSuccess = TRUE;

}

}

else

{

TRACE0("PING FORMAT is Error\n");

}

}

else

{

TRACE0("PING is Time Out\n");

bSuccess = TRUE;

}

}

}

else

{

TRACE1("Process(%d) is Time Out\n", pi.dwProcessId);

TerminateProcess(pi.hProcess, 0);

}

CloseHandle(pi.hThread);

CloseHandle(pi.hProcess);

TRACE3(_T("Minimum = %dms, Maximum = %dms, Average = %dms\n"), nMin, nMax, nAvg);

}

}

if(hWritePipe != NULL)

CloseHandle(hWritePipe);

if(hReadPipe != NULL)

CloseHandle(hReadPipe);

if(hWriteShell != NULL)

CloseHandle(hWriteShell);

if(hReadShell != NULL)

CloseHandle(hReadShell);

return bSuccess;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值