用搜索没有找到a.txt的文件?!

解决方案 »

  1.   

    GO之间加上一句
    exec master..xp_cmdshell @s
      

  2.   

    GO之间加上一句
    exec master..xp_cmdshell @s
      

  3.   

    而且要注意生成的文件是在sql服务器上,而不是你的电脑上.
      

  4.   

    这个我知道!
    只是我在连服务器的数据调试完,产生了
    列名:output
     1. 'bcp .................................................
     2. 或批处理文件
     3. NULL
      

  5.   

    在查询分析器:
    输入:
    exec kf_sp_output @sql='select mnumber,endquan,suppliername from flying200491310340.dbo.kf_v_nowquan',@servername='wsserver', @username='sa', @password='',@path= 'd:\a.txt'产生的结果显示如下:
    列名:output
    ___________________________________
     1.| 'bcp .................................................
     2.| 或批处理文件
     3.| NULL谢谢!
      

  6.   

    create procedure KF_sp_output
    @sql varchar(6000),             --要导出的Sql语句
    @servername varchar(200),       --服务器名
    @username varchar(200)='',       --用户名
    @password varchar(200)='',       --密码
    @path varchar(1000)='',          --目录+文件前缀
    @fdsplit varchar(10)= '\t',      --字段分隔符,默认为制表符
    @rowsplit varchar(10)='\n'      --记录分隔符,默认为回车符
    as
    declare  @s varchar(8000)--初始化数据处理语句
    select @s = 'bcp "' +@sql +'" queryout "'+@path+'"'
    +case 
    when isnull(@servername,'')='' then ''
    else ' /S"'+@servername+'"' end
    +case when isnull(@username,'')='' then '' 
    else ' /U"'+@username+'"' end
    +' /P"'+isnull(@password,'')+'" /c'
    +case when isnull(@fdsplit,'')='' then '' 
    else ' /t"'+@fdsplit+'"' end
    +case when isnull(@rowsplit,'')='' then '' 
    else ' /r"'+@rowsplit+'"' end
    exec master..xp_cmdshell @s
    GOexec kf_sp_output @sql='select id,name from tempdb.dbo.sysobjects',@servername='zj', @username='sa', @password='',@path= 'd:\a.txt'
    godrop proc kf_sp_output