qq_31820089
宫藏文物被
采纳率50%
2020-08-07 10:22 阅读 112

sqlserver2008将一个811列的表导出为csv文件

50

背景:全国二甲医院绩效审查需上传病案数据报表,但其字段有811列之多,虽然建表时提示超过sql最大行字节8060,但对表进行插入数据正常,但导出存在问题。

一.通过可视化管理工具右键导出数据
图片说明

导出结果总是出现单行或者多行的错乱
图片说明

二.以存储过程脚本导出,实现自动定时导出,终极目标

参考https://www.cnblogs.com/ke10/archive/2012/12/26/sqlexportfile.html
大神的解决方案,但是套用的时候,一直调用错误返回bcp的指令集,没有生成文件。

现在急求技术大牛能给个将811列表导出csv的过程脚本,脚本,脚本,只求脚本,什么右键另存为、右键导出烦请绕道,不要盖楼感激不尽。

  • 点赞
  • 收藏
  • 复制链接分享

6条回答 默认 最新

  • 已采纳
    zhg111927 zhg111927 2020-12-31 10:23

    用数据库专门的导出CSV函数

    点赞 评论 复制链接分享
  • zqbnqsdsmd zqbnqsdsmd 2020-08-07 10:48
  • rosyfancy rosyfancy 2020-08-07 11:13
    很简单,存为mdb,用ACCESS打开,就可以轻松弄到excel文件中了。
    
    点赞 评论 复制链接分享
  • jingluan666 jingluan666 2020-08-07 11:38

    使用数据导出向导,保存SSIS包,后面可以重复利用,可手动调用,也可用代理定时调用

    图片说明

    点赞 评论 复制链接分享
  • qq_21561111 左牵黄,右擎仓 2020-11-25 10:05

    1.sql server 开启bcp这个功能

    sp_configure 'show advanced options',1
    reconfigure
    go
    sp_configure 'xp_cmdshell',1
    reconfigure

    2.导出csv格式文件

    exec master..xp_cmdshell 'bcp "select * from [WGTQDB].[dbo].[GLYXDATA1]" queryout c:\abc.csv -c -T -t "," '

    注意 查询表的时候必须要加上数据库名

    3.创建存储过程

    create proc [dbo].[dearda_proc] 
    as
    begin
    ---导出数据
    declare @sql varchar(500)
    declare @path varchar(500)
    set @path='"C:\GLYXDATA1.'+convert(varchar(10),getdate(),120)+'.csv"'
    set @sql='bcp "select * from [WGTQDB].[dbo].[GLYXDATA1] " queryout '+ @path +' -c -T -t ","';
    exec master..xp_cmdshell @sql
    end

    4.创建作业(没有08版的sql server 将就看,作业大体就是这样)

    点赞 评论 复制链接分享
  • qq_21561111 左牵黄,右擎仓 2020-11-25 10:06

    效果展示:

    点赞 评论 复制链接分享

相关推荐