zoukankan      html  css  js  c++  java
  • 使用CLR存储过程方便快捷导出数据到Excel

      今天早上看到一篇文章(Exporting to Excel Using a CLR Stored Procedure )觉得非常实用,就拿来跟大家分享一下。  
      这篇文章主要提供了一个Sql Server导出数据到Excel一个快捷方便的方式,如果你日常工作常常需要从数据库导出数据到Excel的话,你会发现这对你非常有用。
        

      好了,废话少说,我这里就简单说一下如何使用:
         1. 下载代码ExcelExport.zip
         2. 编译项目,把生成的dll复制到一个目录,例如:c:\CLR
         3. 在SQL SERVER上启用CLR

    sp_configure'clr',1
    reconfigure

      4. 使用ALTER DATABASE 命令打开 Trustworthy 数据库属性

    ALTER DATABASE 数据库名 SET TRUSTWORTHY ON

      5. 创建程序集

    CREATE ASSEMBLY ExportToExcel
    FROM 
    'C:\CLR\ExcelExport.dll' --CLR 程序集存放的地方
    WITH PERMISSION_SET 
    = EXTERNAL_ACCESS

      6. 创建一个存储过程关联到上一步创建的程序集

    CREATE PROCEDURE[dbo].[prc_ExportToExcel]
           @proc [nvarchar](100),
           @path [nvarchar](200),
           @filename [nvarchar](100),
           @params xml
    AS
    EXTERNAL NAME [ExportToExcel].[StoredProcedures].[ExportToExcel]

      7. 好了,到这里准备工作就算完成了,下面是使用的例子:

    Declare @params xml
    Set @params 
    = '<params><param name="lastname" value="Smith" /><param name="country" value="US" /></params>'
    exec prc_ExportToExcel 
    'procname',‘Drive:\Directory\''Filename', @params

      a) 第一个参数是获取数据的存储过程名

      b) 第二个参数是输出的目录

      c) 第三个参数是输出的文件名,不需要带后缀

      d) 第四个参数是获取数据的存储过程需要的参数。name代表参数名,value代表参数值。

        如果获取数据的存储过程没有参数的话,就使用:Set @params ='<params></params>'

  • 相关阅读:
    HTML解决浏览器字体大小12px限制,实现自动适应大小
    Oracle 大最插入数据 一段时间之后变慢问题解决方法
    中间件使用-nginx 中ssl证书的设置
    asp.net core学习:准备asp.net core源码编译环境
    批量修改文件名后缀
    tcpdump 抓所有网卡的包
    mysql数据库备份
    x64架构下Linux系统函数调用
    博客背景美化——动态雪花飘落
    MySQL锁:03.InnoDB行锁
  • 原文地址:https://www.cnblogs.com/NickYao/p/1616101.html
Copyright © 2011-2022 走看看