尝试了三种方法,都没能成功,但都不报错
1、用SQLCOMMAND运行
EXEC master..xp_cmdshell 'bcp test.dbo.test out D:\testtest.txt -c  -S server  -U sa -P  ps'
2、用存储过程写法,把'bcp test.dbo.test out D:\testtest.txt -c  -S server  -U sa -P  ps'作为参数传与存储过程master..xp_cmdshell
3、
System.Diagnostics.Process  sqlProcess=new Process();
sqlProcess.StartInfo.FileName="bcp.exe";
sqlProcess.StartInfo.Arguments="bcp test.dbo.test out D:\testtest.txt -c  -S server  -U sa -P  ps ";
//sqlProcess.StartInfo.WindowStyle=ProcessWindowStyle.Hidden;
sqlProcess.Start();
sqlProcess.WaitForExit();
sqlProcess.Close();以上方法都没成功,希望高手们指点迷津

解决方案 »

  1.   

    查询分析器中执行
    exec master..xp_cmdshell 'bcp test.dbo.table_1 out c:\temp.dbf -c -q -s"tang\ss" -u"sa" -p""
    有问题么如果没问题
    放在sqlcommand中执行的时候,就要注意单引号,双引号的转换
      

  2.   

    在分析器中执行是没问题的,但用SQLCOMMAND执行不到相同结果,也就是备份文件了,但也没有报错。SQLCOMMAND应该只支持标准SQL吧
      

  3.   

    exec master..xp_cmdshell 'bcp test.dbo.table_1 out c:\temp.dbf -c -q -s"tang\ss" -u"sa" -p""
    楼主的转换不对吧
    单引号要变成两个单引号,
    双引号的转换我忘了,你找找看
      

  4.   

    zt
    单引号在SQL语句中,一个'用两个连续的''替换双引号不需要特殊处理
      

  5.   

    这个东西比较危险,
    你用sa帐号登陆直接写在CommandText里运行
      

  6.   

    简单点
    新建一个存储过程
    里面写
    exec master..xp_cmdshell 'bcp test.dbo.table_1 out c:\temp.dbf -c -q -s"tang\ss" -u"sa" -p""前台执行新的存储过程,应该就没问题了吧