其实我是想导出excel文件
如果excel文件不存在,则生成新的excel文件
如果存在excel文件,就把数据导进去(覆盖原有纪录)我觉得没此判断很麻烦,所以先到删除,再重新生成。谁有更好的方法么现在比较麻烦的是,文件名都是变量,就更搞不定了

解决方案 »

  1.   

    cmdshell相当于调用了操作系统的命令提示符,当然不能解释变量!
      

  2.   

    declare @strbar char(2)
    set @strbar='47'
    declare @strFilename varchar(200)declare @s varchar(8000)--文件删除
    set @s='del \\server\eclat_gl\Report4Prod\追加(商店反馈)\'+cast(@strbar as varchar)+'.xls '
    exec master..xp_cmdshell @s
    --生成文件
    set @s='bcp pubs.dbo.authors out "\\server\eclat_gl\Report4Prod\追加(商店反馈)\'+cast(@strbar as varchar)+'.xls" /c /S"etam_datasv" /U"sa" -P"123"'
    EXEC master..xp_cmdshell @sset @strFilename='\\server\eclat_gl\Report4Prod\追加(商店反馈)\' + @strbar + '.xls'
    EXEC master..xp_cmdshell 'bcp etam.dbo.QryShopSalesFuture out @strFilename /c /S"etam_datasv" /U"sa" -P"123"'
      

  3.   

    declare @strbar char(2)
    set @strbar='47'
    declare @str varchar(2000)
    set @str='bcp etam.dbo.QryShopSalesFuture out \\server\eclat_gl\Report4Prod\追加(商店反馈)\' + @strbar + '.xls /c /S"etam_datasv" /U"sa" -P"123"'EXEC master..xp_cmdshell @str