zoukankan      html  css  js  c++  java
  • 解决bcp导出CSV文件没有表头

    思路:

    1.输出表头文件到指定目录

    2.bcp导出csv文件到temp目录

    3.将以上导出文件与表头文件合并

    4.删除temp目录下的文件

    实现:

    create   proc   exportCSV
    (
        @id int  ,@filepath varchar(8000),--输入参数
        @re int output --输出参数
    )
      as   
        declare   @s   varchar(8000)
        --csv文件的表头,你也可以自定义表头,但是为了与前端d3.js访问,直接就data1,data2了set @s='echo data1,data2>"'+@filepath+'"' 
        exec   master..xp_cmdshell  @s,no_output 
        --导出csv文件到temp目录
        set   @s='bcp   "exec 数据库名..queryUserAnsawer '+cast(@id as varchar(50))+'" queryout "'+'"%temp%	emp.csv"'+'"   /c /t,  /U"登录名"   -P"密码" /S 服务器名'     
        exec   master..xp_cmdshell   @s ,no_output 
        --将temp目录下的csv文件与之前的csv文件的表头合并
        set @s='more %temp%	emp.csv >>"'+@filepath+'"'
        exec   master..xp_cmdshell   @s ,no_output 
        --删除temp目录下的csv文件
        exec   master..xp_cmdshell   'del %temp%	emp.csv' ,no_output 
        --返回执行结果
        set @re=1 --如果可以执行这一句代表之前的语句没有报错
    go
    
    --调用存储过程exportUserAnsawer
     --F:Datadata.csv
    declare @w int
    exec 数据库名..exportCSV 5, 'F:Datadata.csv' ,@w output
    --PRINT '执行结果:'+CONVERT(varchar(20),@w)
    select @w as '返回值'

    同理,bat实现与sh实现也一样,我就不写了 。

  • 相关阅读:
    代理工具介绍
    Cookie 相关
    在JavaScript 使用命名空间
    oracle rank()用法
    sql update 特殊用法
    Repeat 嵌套绑定
    .net 中隐式事务和显示事务的用法
    为站点添加迅雷下载和快车下载
    缺少MSVCR71.DLL解决方式
    关于AppFabric Caching的学习摘录
  • 原文地址:https://www.cnblogs.com/feiquan/p/10843151.html
Copyright © 2011-2022 走看看