首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

SQL Server 利用 sp_makewebtask 將查詢結果匯出為 HTML 表格

     編輯:關於SqlServer

SQL Server 2000/2005 提供的 sp_makewebtask 預存程序可將查詢結果直接產生為 HTML 檔案,搭配樣板檔(TPL)可自訂輸出格式,適合產生簡單報表或靜態網頁。

基本語法與參數

EXECUTE sp_makewebtask 
    @outputfile = 'D:\alcatel\20030902\check.htm',
    @query = 'SELECT * FROM Eiems_temporarydata..property',
    @templatefile = 'D:\alcatel\20030902\check.TPL',
    @dbname = 'EIEms_temporarydata',
    @rowcnt = 0,
    @whentype = 9,
    @lastupdated = 1;

關鍵參數說明:

  • @outputfile:輸出 HTML 檔完整路徑。
  • @query:要執行的 T-SQL 查詢語句。
  • @templatefile:樣板檔路徑,控制 HTML 結構與樣式。
  • @whentype:9 表示立即執行;其他值可設定排程。

樣板檔(check.TPL)設計重點

樣板檔為標準 HTML,內嵌特殊標記供 sp_makewebtask 取代:

  • <%begindetail%> 與 <%enddetail%>:包裹單筆資料列的重複區塊。
  • <%insert_data_here%>:資料欄位插入點,每個欄位對應一個標記。
<STYLE type="text/css">
body { font-size: 9pt; }
TH { FONT-SIZE: 12pt; }
TD { font-size: 12pt; }
</STYLE>

<CENTER>
<H1><FONT color="#000000">check it!</FONT></H1>
<HR>
<H2>
<TH><B>Size</B></TH>
<TH><B>Date</B></TH>
<TH><B>Name</B></TH>
<TH><B>Exist</B></TH>
<TH><B>Remark</B></TH>
<TH><B>result</B></TH>
<%begindetail%>
<%insert_data_here%><%insert_data_here%><%insert_data_here%><%insert_data_here%><%insert_data_here%><%insert_data_here%>
<%enddetail%>
</CENTER>

使用限制與現代替代方案

  • 已淘汰:sp_makewebtask 在 SQL Server 2008 後標記為棄用,新版本已移除。
  • 權限需求:執行帳戶需有輸出目錄寫入權限,且需啟用 xp_cmdshell 相關權限。
  • 現代做法:建議使用 SSIS 匯出文字檔/平面檔、BCP 工具 搭配格式化檔、或在應用層(C#/Python/PowerShell)查詢後產生 HTML/CSV/Excel,靈活度與安全性更高。

快速替代:BCP 匯出 HTML 片段

bcp "SELECT '<tr><td>' + CAST(Size AS VARCHAR) + '</td><td>' + CONVERT(VARCHAR, [Date], 120) + '</td>...' FROM property" 
queryout "D:\export\table_rows.html" -c -T -S localhost

再由前端框架組裝完整 HTML 頁面,分工更清晰。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved