背景:全国二甲医院绩效审查需上传病案数据报表,但其字段有811列之多,虽然建表时提示超过sql最大行字节8060,但对表进行插入数据正常,但导出存在问题。
一.通过可视化管理工具右键导出数据
导出结果总是出现单行或者多行的错乱
二.以存储过程脚本导出,实现自动定时导出,终极目标
参考https://www.cnblogs.com/ke10/archive/2012/12/26/sqlexportfile.html
大神的解决方案,但是套用的时候,一直调用错误返回bcp的指令集,没有生成文件。
现在急求技术大牛能给个将811列表导出csv的过程脚本,脚本,脚本,只求脚本,什么右键另存为、右键导出烦请绕道,不要盖楼感激不尽。
用数据库专门的导出CSV函数
https://blog.csdn.net/qq_36422591/article/details/79864963
很简单,存为mdb,用ACCESS打开,就可以轻松弄到excel文件中了。
使用数据导出向导,保存SSIS包,后面可以重复利用,可手动调用,也可用代理定时调用
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 将就看,作业大体就是这样)
效果展示: