调用扩展存储过程的问题?在线等待急...............

jinxuliang 2004-08-14 05:23:45
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这个文件.
...全文
161 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
jinxuliang 2004-08-14
  • 打赏
  • 举报
回复
太感谢memory_xj(青蛙) 了!请你接分!问题解决.
memory_xj 2004-08-14
  • 打赏
  • 举报
回复
还有一些ADO的enum参数,最好加上ADODB::,如以上的adCmdStoredProc用ADODB::adCmdStoredProc
memory_xj 2004-08-14
  • 打赏
  • 举报
回复
呵呵,知道了。
stritem1.Format("'bcp %s.dbo.%s out %s -c -S127.0.0.1 -Uyangrui -P101500'",m_strDataBaseName,m_strTableName,m_strFileName);
错误了。应该是:
stritem1.Format("bcp %s.dbo.%s out %s -c -S127.0.0.1 -Uyangrui -P101500",m_strDataBaseName,m_strTableName,m_strFileName);
不要单引号。还有:
_RecordsetPtr m_pRecordset;
m_pRecordset.CreateInstance(__uuidof(Recordset));
m_pRecordset=m_pCommand->Execute(NULL,NULL,adCmdStoredProc);
直接用:
m_pCommand->Execute(NULL,NULL,adCmdStoredProc);
jinxuliang 2004-08-14
  • 打赏
  • 举报
回复
不是权限!因为查询分析器的连接和执行.同程序中的连接的用户都是一样的
memory_xj 2004-08-14
  • 打赏
  • 举报
回复
是不是权限问题。
jinxuliang 2004-08-14
  • 打赏
  • 举报
回复
顶!急啊
jinxuliang 2004-08-14
  • 打赏
  • 举报
回复
请高人指点啊!顶

16,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧