广告合作
  • 今日头条

    今日头条

  • 百度一下

    百度一下,你就知道

  • 新浪网

    新浪网 - 提供新闻线索,重大新闻爆料

  • 搜狐

    搜狐

  • 豆瓣

    豆瓣

  • 百度贴吧

    百度贴吧——全球领先的中文社区

  • 首页 尚未审核订阅工具 订阅

    怎么定时自动将SQL数据导出为Excel文件

    来源:网络收集  点击:  时间:2024-07-16
    【导读】:
    在SQL的数据应用中,我们有时候需要将SQL中某个数据表定时自动导出成Excel文件,以作直观地查看数据,甚至可以将此Excel文件定时自动发送给指定的邮件联系人。本经验采用方法:1、编写SQL存储过程(procedure);2、使用SQL的BCP与execmaster..xp_cmdshell命令完成指定数据表或内容导出;3、使用SQL Server代理作业实现定时自动执行导出。下面是过程详解,若你还有更好的方式,盼告知。工具/原料moreSQL Server Management StudioBCP与exec master..xp_cmdshell方法/步骤1/11分步阅读

    Create一个新的procedure,在开头可以做一个判断来决定什么时候执行数据结果导出,下面来看看这个存储过程:

    Create procedure.

    as

    begin

    ---这里可以增加对数据表的查询条件或更多的数据处理;

    ---将结果放入一个新的数据表,然后将这个新表导出EXCEL文件;

    declare@file_pathvarchar(200);--导出EXCEl文件的路径;

    declare@file_namevarchar(200);--导出EXCEl的文件名;

    declare@exec_sqlvarchar(200);--SQL语句;

    ---分开定义是为了以后修改路径或文件名更方便。

    set@file_path=E:\Dept_Bak\

    set@file_name=dept+CONVERT(varchar(100),GETDATE(),112)+.xls

    set@exec_sql=select*frombook.dbo.users_dept ---数据表使用的完整路径;

    set@exec_sql=bcp+@exec_sql+queryout+@file_path++@file_name+-c-T-Usa-PSQLpassword;

    ----Usa-PSQLpassword 这是数据库的sa账号和密码;

    execmaster..xp_cmdshell@exec_sql

    end

    2/11

    以上存储过程pr_Dept_Bak建立,需要导出的数据表是users_dept,导出的位置是数据库本地计算机的E:\Dept_Bak文件夹下。需要将这个文件夹建立好。

    3/11

    准备好之后,我们需要进行测试一下pr_Dept_Bak是否成功,执行pr_Dept_Bak存储过程,可以看到执行结果是成功的,若这里不成功,则需要检查一下带存储过程中的BCP与execmaster..xp_cmdshell命令的格式是否正确。

    4/11

    导出功能实现了,现在需要设置定时自动执行导出。在SQLServerManagementStudio中,SQL Server代理-作业-新建作业。

    5/11

    为新的作业设定名称,可以中文或英文,只是为了方便区分其它作业。

    6/11

    在步骤中,点击新建作业执行步骤。即需要定时自动执行的存储过程pr_Dept_Bak。为什么使用的存储过程,也是因为以后需要添加或修改功能更方便,而且存储过程更文件测试问题所在。

    7/11

    注意选择数据库,命令中输入execpr_Dept_Bak 执行存储过程。因为命令语句都在存储过程中,所以这里就相对比较简单。

    8/11

    最后就是设定定时自动执行计划,如每天的XX时间自动执行这个存储过程,或间隔多少小时导出SQL表一次。

    9/11

    作业建立之后,则可以执行作业步骤来测试一次,是成功,右键点击建立的作业pr_Dept_Bak,作业开始步骤。

    10/11

    作业成功,若不成功,可以看到错误提示,可以在作业活动监视器中查看作业失败的原因,针对解决问题。

    11/11

    到E:\Dept_Bak文件夹下,可以看到导出的EXCEL文件了,接下来还可以使用的SQL的邮件功能,自动将这个EXCEL文件发送给指定的邮箱接收者。

    注意事项

    本经验由三皮(Sanpitt)原创首发,原创图片、纯手打文字,也不容易,请点【投票】和【大拇指】以资鼓励;业余个人经验分享,肯定有不足的地方请留言,若觉得有用还可以点击右边的【双箭头】来分享;怕下次出问题之后忘记找不到,可点击【☆】来收藏。若有不足,请在【我有疑问】提问,给出您的方法。点击“关注”关注我,点击“Sanpitt”进入我的主页查看相关经验,收获更多。

    本文关键词:

    版权声明:

    1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。

    2、本站仅提供信息发布平台,不承担相关法律责任。

    3、若侵犯您的版权或隐私,请联系本站管理员删除。

    4、文章链接:http://www.1haoku.cn/art_959679.html

    相关资讯

    ©2019-2020 http://www.1haoku.cn/ 国ICP备20009186号05-05 01:38:33  耗时:0.025
    0.0245s