调用扩展存储过程的问题?在线等待急...............
try
{
_CommandPtr m_pCommand;
HRESULT hr = m_pCommand.CreateInstance("ADODB.Command");
m_pCommand->ActiveConnection=m_pConnsql;
m_pCommand->CommandType=adCmdStoredProc;
m_pCommand->CommandText="master.dbo.xp_cmdshell";
CString stritem1;
stritem1.Format("'bcp %s.dbo.%s out %s -c -S127.0.0.1 -Uyangrui -P101500'",m_strDataBaseName,m_strTableName,m_strFileName);
//stritem1附值为:
//stritem1="'bcp kj90tc.dbo.M20040814 out E:\kj90backup\time\hp20040814.dat -c - S127.0.0.1 -Uyangrui -P101500'"跟踪得到的值
_ParameterPtr pParam1;
pParam1=m_pCommand->CreateParameter("command_string",adVarChar,adParamInput,255,(_bstr_t)stritem1);
m_pCommand->Parameters->Append(pParam1);
_RecordsetPtr m_pRecordset;
m_pRecordset.CreateInstance(__uuidof(Recordset));
m_pRecordset=m_pCommand->Execute(NULL,NULL,adCmdStoredProc);
AfxMessageBox(_T("cheng gong "));
//程序能正确的执行到这里.但不能生成对应的E:\kj90backup\time\hp20040814.dat文件
}
catch (_com_error &e)
{
///
AfxMessageBox("error");
}
/////////////////////////////////////////////////////////////////////
程序能得到正确执行,但是在对应的目录下,却没有导出的文件?求教!
然该存储过程在sql查询分析器中,运行正常,并生成了对应的导出文件.
查询分析器中运行的语句.
EXEC master.dbo.xp_cmdshell 'bcp kj90tc.dbo.M20040814 out E:\kj90backup\time\hp20040814.dat -c -S127.0.0.1 -Uyangrui -P101500'
能生成E:\kj90backup\time\hp20040814.dat这个文件.