`
逆风的香1314
  • 浏览: 1390238 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

将指定的表/视图中的数据导出为 html 文件

阅读更多

IF OBJECT_ID(N'dbo.p_ExportHtml') IS NOT NULL<!----><o:p></o:p>

    DROP PROC dbo.p_ExportHtml;<o:p></o:p>

GO<o:p></o:p>

<o:p> </o:p>

/*-- == 导出表/视图中的数据为html 文件======================<o:p></o:p>

<o:p> </o:p>

此存储过程用于将指定的表/视图中的数据导出为 html 文件

由于是使用存储过程, 因此文件目录基于 sql server 服务器

<o:p> </o:p>

存储过程中会使用xp_cmdshell 调用bcp 来写文件<o:p></o:p>

因此必须打开xp_cmdshell 功能, 可以使用下面的脚本实现<o:p></o:p>

EXEC sp_configure N'show advanced options', 1 RECONFIGURE;<o:p></o:p>

EXEC sp_configure N'xp_cmdshell', 1 RECONFIGURE;<o:p></o:p>

<o:p> </o:p>

---------------------------------------------------------<o:p></o:p>

-- 调用示例<o:p></o:p>

EXEC dbo.p_ExportHtml<o:p></o:p>

    @object_name = N'sys.objects',<o:p></o:p>

    @file_name = N'c:\test.html';<o:p></o:p>

<o:p> </o:p>

---------------------------------------------------------<o:p></o:p>

-- 环境要求<o:p></o:p>

适用于sql server 2005 或者更高的版本<o:p></o:p>

<o:p> </o:p>

-- ==== 邹建2008.11(引用请保留此信息) =============== */<o:p></o:p>

CREATE PROC dbo.p_ExportHtml<o:p></o:p>

    @object_name sysname,<o:p></o:p>

    @file_name nvarchar(260),<o:p></o:p>

    @title nvarchar(1000) = NULL -- html 标题, NULL时使用@object_name<o:p></o:p>

AS<o:p></o:p>

SET NOCOUNT ON;<o:p></o:p>

<o:p> </o:p>

DECLARE<o:p></o:p>

    @sql_field nvarchar(max),<o:p></o:p>

    @sql_body nvarchar(max);<o:p></o:p>

SELECT<o:p></o:p>

    @sql_field = N'',<o:p></o:p>

    @sql_body = N''<o:p></o:p>

SELECT<o:p></o:p>

    @sql_field = @sql_field<o:p></o:p>

           + N' UNION ALL SELECT field_name = N' + QUOTENAME(C.name, N''''),<o:p></o:p>

    @sql_body = @sql_body<o:p></o:p>

           + N', [td/@align] = '<o:p></o:p>

              + QUOTENAME(<o:p></o:p>

                     CASE<o:p></o:p>

                         WHEN T.name LIKE N'%int'<o:p></o:p>

                                OR T.name LIKE N'%money'<o:p></o:p>

                                OR T.name IN(N'real', N'float', N'decimal', N'numeric')<o:p></o:p>

                            THEN 'right'<o:p></o:p>

                         WHEN T.name IN(N'bit')<o:p></o:p>

                            THEN 'center'<o:p></o:p>

                         ELSE 'left'<o:p></o:p>

                     END,<o:p></o:p>

                     '''')<o:p></o:p>

           + N', [td] = '<o:p></o:p>

              + CASE<o:p></o:p>

                  WHEN T.name IN(N'xml')<o:p></o:p>

                     THEN N'CONVERT(nvarchar(max), ' + QUOTENAME(C.name) + N')'<o:p></o:p>

                  ELSE QUOTENAME(C.name)<o:p></o:p>

              END<o:p></o:p>

           + N', NULL'<o:p></o:p>

FROM sys.all_columns C<o:p></o:p>

    INNER JOIN sys.types T<o:p></o:p>

       ON T.system_type_id = C.system_type_id<o:p></o:p>

           AND </fon>

分享到:
评论

相关推荐

    Access 2000数据库系统设计(PDF)---001

    1717.7.1 通过Windows剪贴板导出数据 1717.7.2 将数据导出为一个文本文件 1727.7.3 以其他文件格式导出数据 1737.8 疑难解答 1737.9 现实世界—Microsoft的付出与 回报 175第二部分 最大限度地利用查询第8章 设计...

    Access 2000数据库系统设计(PDF)---002

    1717.7.1 通过Windows剪贴板导出数据 1717.7.2 将数据导出为一个文本文件 1727.7.3 以其他文件格式导出数据 1737.8 疑难解答 1737.9 现实世界—Microsoft的付出与 回报 175第二部分 最大限度地利用查询第8章 设计...

    Access 2000数据库系统设计(PDF)---003

    1717.7.1 通过Windows剪贴板导出数据 1717.7.2 将数据导出为一个文本文件 1727.7.3 以其他文件格式导出数据 1737.8 疑难解答 1737.9 现实世界—Microsoft的付出与 回报 175第二部分 最大限度地利用查询第8章 设计...

    Access 2000数据库系统设计(PDF)---009

    1717.7.1 通过Windows剪贴板导出数据 1717.7.2 将数据导出为一个文本文件 1727.7.3 以其他文件格式导出数据 1737.8 疑难解答 1737.9 现实世界—Microsoft的付出与 回报 175第二部分 最大限度地利用查询第8章 设计...

    Access 2000数据库系统设计(PDF)---018

    1717.7.1 通过Windows剪贴板导出数据 1717.7.2 将数据导出为一个文本文件 1727.7.3 以其他文件格式导出数据 1737.8 疑难解答 1737.9 现实世界—Microsoft的付出与回报 175第二部分 最大限度地利用查询第8章 设计...

    Access 2000数据库系统设计(PDF)---011

    1717.7.1 通过Windows剪贴板导出数据 1717.7.2 将数据导出为一个文本文件 1727.7.3 以其他文件格式导出数据 1737.8 疑难解答 1737.9 现实世界—Microsoft的付出与回报 175第二部分 最大限度地利用查询第8章 设计...

    Access 2000数据库系统设计(PDF)---020

    1717.7.1 通过Windows剪贴板导出数据 1717.7.2 将数据导出为一个文本文件 1727.7.3 以其他文件格式导出数据 1737.8 疑难解答 1737.9 现实世界—Microsoft的付出与回报 175第二部分 最大限度地利用查询第8章 设计...

    Access 2000数据库系统设计(PDF)---012

    1717.7.1 通过Windows剪贴板导出数据 1717.7.2 将数据导出为一个文本文件 1727.7.3 以其他文件格式导出数据 1737.8 疑难解答 1737.9 现实世界—Microsoft的付出与回报 175第二部分 最大限度地利用查询第8章 设计...

    Access 2000数据库系统设计(PDF)---015

    1717.7.1 通过Windows剪贴板导出数据 1717.7.2 将数据导出为一个文本文件 1727.7.3 以其他文件格式导出数据 1737.8 疑难解答 1737.9 现实世界—Microsoft的付出与回报 175第二部分 最大限度地利用查询第8章 设计...

    Access 2000数据库系统设计(PDF)---027

    1717.7.1 通过Windows剪贴板导出数据 1717.7.2 将数据导出为一个文本文件 1727.7.3 以其他文件格式导出数据 1737.8 疑难解答 1737.9 现实世界—Microsoft的付出与回报 175第二部分 最大限度地利用查询第8章 设计...

    Access 2000数据库系统设计(PDF)---025

    1717.7.1 通过Windows剪贴板导出数据 1717.7.2 将数据导出为一个文本文件 1727.7.3 以其他文件格式导出数据 1737.8 疑难解答 1737.9 现实世界—Microsoft的付出与回报 175第二部分 最大限度地利用查询第8章 设计...

    Access 2000数据库系统设计(PDF)---026

    1717.7.1 通过Windows剪贴板导出数据 1717.7.2 将数据导出为一个文本文件 1727.7.3 以其他文件格式导出数据 1737.8 疑难解答 1737.9 现实世界—Microsoft的付出与回报 175第二部分 最大限度地利用查询第8章 设计...

    Access 2000数据库系统设计(PDF)---029

    1717.7.1 通过Windows剪贴板导出数据 1717.7.2 将数据导出为一个文本文件 1727.7.3 以其他文件格式导出数据 1737.8 疑难解答 1737.9 现实世界—Microsoft的付出与回报 175第二部分 最大限度地利用查询第8章 设计...

    数据挖掘之神经网络分析实验报告.doc

    (2)进入"选择表和视图"界面中,选择pima_indians_diabetes表,单击右箭头键,将 其包括在新数据源视图中。 (3)下一步,进入"完成向导"对话框,默认情况下,系统将数据源视图命名为Diabete s。 (4)单击"完成...

    数据库管理工具 SQLyog Ultimate 13.1.1.0 + x64 中文多语免费版.zip

    可以输出数据库清单为HTML文件。 为所有操作建立日志。 个人收藏管理操作语句。 支持语法加亮显示。 可以保存记录集为CSV、HTML、XML格式的文件。 99%的操作都可以通过快捷键完成。 支持对数据表的各种高级属性的...

    PHP程序开发范例宝典III

    实例160 清空指定数据表中的指定数据 245 实例161 批量清空数据表 246 6.8 MYSQL数据库的备份 248 实例162 通过命令模式备份数据库 248 实例163 通过phpMyAdmin备份数据库 249 实例164 通过手动方式备份...

Global site tag (gtag.js) - Google Analytics