全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
SQL Server分类导出数据摘要: 本文对sql serve数据库中的数据分类导出至excel文件进行了研究,通过xp_cmdshell存储过程与bcp的分析与使用,提出了简单有效的解决办法。关键字:bcp;分类导出;queryout;sql server引言在实际应用中, 常常需要将sql serve数据库中的数据导出至excel中。将表中全部数据、按条件将部分数据导出至excel非常简单,但要将sql server表中数据按条件分类批量导出为多个excel文件就不那么简单了。例如:有一学生表(学号,姓名,系名,班级名,课程名称,成绩),现要按学号分类导出数据,每个学生为一类生成一个xls文件,若全校有一万三千名学生,就要分一万三千类,并生成一万三千个xls文件。如果我们一个个查询导出,工作量巨大,效率也低。为此,我们今天将研究bcp导出方法,采用while循环查询解决此问题。2、准备工作bcp是sql server中负责导入导出数据的一个命令行工具,它是基于db-library的,并且能以并行的方式高效地导入导出大批量的数据。此次研究,我们将调用sql server的一个系统存储过程xp_cmdshell以sql语句的方式运行bcp。bcp由四个动作组成,in为导入,out为导出,queryout为使用sql语句导出,format为导出格式文件。在这里,我们的数据源是sql语句,故使用queryout导出。扩展存储过程xp_cmdshell是一个功能非常强大的扩展存贮过程,可以让系统管理员以操作系统命令行解释器的方式执行给定的命令字符串。一般情况下,管理员会将xp_cmdshell禁用。在这里,我们先要将xp_cmdshell启用: use master exec sp_addextendedproc nxp_cmdshell, nxplog70.dll go3、具体实现使用bcp命令导出的语法格式为:bcp ”查询命令” queryout “xls文件保存路径”cu “登录名” p “密码”在命令窗口输入以下的命令:-定义两个变量,sql用来保存要运行的bcp命令,xue用来保存用来分类的学号declare sql varchar(600),xue int-xue取得最小的学号select xue=min(学号) from stud.dbo.学生表-如果学生表中存在此学号的学生时进行如下处理while exists(select * from 学生表 where 学号=xue)begin-先在xls文件中添加列名set sql=bcp “select +学号+ as 学号,+姓名+ as 姓名,+系名+ as 系名,+班级名+ as 班级名,+课程名称+ as 课程名称,+成绩+ as 成绩-使用联合查询将满足条件的记录(该学号对应学生的信息)也添加至xls文件中set sql=sql+ union all select 学号,姓名,系名,班级名,课程名称,成绩 from stud.dbo.学生表 where 学号=+cast(xue as varchar(8)+” queryout “f:+cast(xue as varchar(8)+.xls” -c -u “sa” -p “123”-调用xp_cmdshell运行bcp命令exec master.xp_cmdshell sql-获取下一个学生的学号赋值给xueselect xue=isnull(min(学号),xue+1) from stud.dbo.学生表 where 学号=xue+1end在书写命令时应注意以下几点:表名要使用“数据库名.所有者名.表名”的形式,否则会出错。所以,命令中的“学生表”正确的写法为“stud.dbo.学生表”。要区分大小写。-c为小写,-u为大写,-p 为大写。xls文件保存路径、查询命令这两项必须用双引号括起来。所有特殊符号都必须在英文状态下输入。bcp导出数据是不带字段名的,为了将字段名也导出至excel中,并且能正确导出,必须将要导出的字段全部转为字符型,否则即使你的命令和上面的一模一样,也会出现如下错误。最终,每个学号对应一个xls文件,运行结果如下图所示:打开“70801.xls”文件,结果如下图所示:4、结束语将sql server表中数据分类批量导出为多个excel文件是具有实际意义的,在平常的操作中使用广泛。如超
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 数据分析师工作效果绩效考核表
- 焊装夹具设计答辩
- 深圳市重点中学2026届化学高三第一学期期中质量检测模拟试题含解析
- 客户服务标准流程及客户信息管理模板
- 跨部门沟通协作平台综合指南
- 客户服务投诉处理流程表快速响应与解决策略
- 轨道消防安全知识
- 网络主播新兴行业网络表演业绩效评定表
- 腹腔镜手术术前准备与护理要点
- 风险评估专家金融行业绩效评定表
- 2025年全国硕士研究生考试西医综合试卷试题(含答案)
- 酒店防偷拍管理制度
- 2025至2030中国保险行业产业运行态势及投资规划深度研究报告
- 药品网络交易服务三方平台质量管理体系文件-B2B平台(完整版)
- 2025年农村电商直播基地建设:农村电商产业链优化与区域协同发展
- 教师命题能力培训心得体会模版
- 校长在人工智能教师培训专题研讨会上讲话:主动拥抱人工智能才能为学生开辟更广阔的成长空间
- 房租欠款协议书模板
- 中级消控证的试题及答案
- 人教版川教版 二年级上册《生命生态安全》表格式教案
- 4.2 地貌的观察 课件-高中地理人教版(2019)必修第一册
评论
0/150
提交评论