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 表示立即執行;其他值可設定排程。樣板檔為標準 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 相關權限。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 頁面,分工更清晰。