我在mfc中要用到bcp命令导出数据,现在我用的连接数据库的用户是新建的一个拥有系统管理员权限的新用户,我在程序中导出数据时出现了“过程‘xp_cmdshell’的请求失败,因为‘xp_cmdshell’是过程对象”的错误,现在有什么办法解决问题?我的程序已经基本完成,这是最后一步,只要数据导出正常就可以使用了,哪位大神可以提供一个解决办法?我的sql语句是
CString sql;
sql.Format("exec master..xp_cmdshell 'bcp \"select %s from fenghuang..服务%d试验%d数据表\" queryout %s -c -U\"administrator\" -P\"administrator\"'",xyz,servicenode,testnode,filename);这样写的,谁能帮我看看?
下面是我用的管理员权限截图:

解决方案 »

  1.   

    应该是没有开启xp_cmdshell
    不知道你MSSQL版本如何,你可以适当根据版本查询下
    MSSQL2005/2008是
    EXEC sp_configure 'show advanced options', 1
    GO
    RECONFIGURE
    GO
    EXEC sp_configure 'xp_cmdshell', 1
    GO
    RECONFIGURE
    GO
    EXEC sp_configure 'show advanced options', 0
    GO
    RECONFIGURE
    GO
      

  2.   

    我用的是2000,但是我在查询分析器里能做bcp操作,在程序中嵌入bcp命令就不执行
      

  3.   

    我知道了,貌似是权限的问题,不是服务没有启动,我用的不是master数据库,我在master数据库之外建了个数据库,在mfc程序中用到了master里面的存储过程,但是现在在我建的数据库里面没有,所以我需要先调用一下master库,然后再使用exec执行存储过程。
      

  4.   

    现在不报错了,但是并没有导出数据,以前安装sqlserver2000没出过这种问题,现在好多权限都有问题了