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

SQL Server sp_makewebtask 靜態頁面產生完整參數指南與實務應用

     編輯:關於SqlServer

前言

`sp_makewebtask` 是 SQL Server 7.0/2000 內建的靜態頁面產生工具,可將查詢結果直接輸出為 HTML 檔案,支援排程、模板、超連結、分頁等豐富功能。本文詳細整理所有參數與實務應用場景。

核心語法

sp_makewebtask 
    [@outputfile =] 'outputfile',
    [@query =] 'query'
    [, [@fixedfont =] fixedfont]
    [, [@bold =] bold]
    [, [@italic =] italic]
    [, [@colheaders =] colheaders]
    [, [@lastupdated =] lastupdated]
    [, [@HTMLHeader =] HTMLHeader]
    [, [@username =] username]
    [, [@dbname =] dbname]
    [, [@templatefile =] 'templatefile']
    [, [@webpagetitle =] 'webpagetitle']
    [, [@resultstitle =] 'resultstitle']
    [, [@URL =] 'URL', [@reftext =] 'reftext']
    [, [@table_urls =] table_urls, [@url_query =] 'url_query']
    [, [@whentype =] whentype]
    [, [@targetdate =] targetdate]
    [, [@targettime =] targettime]
    [, [@dayflags =] dayflags]
    [, [@numunits =] numunits]
    [, [@unittype =] unittype]
    [, [@procname =] procname]
    [, [@maketask =] maketask]
    [, [@rowcnt =] rowcnt]
    [, [@tabborder =] tabborder]
    [, [@singlerow =] singlerow]
    [, [@blobfmt =] blobfmt]
    [, [@nrowsperpage =] nrowsperpage]
    [, [@datachg =] datachg]
    [, [@charset =] charset]
    [, [@codepage =] codepage]

關鍵參數詳細說明

參數說明預設值
outputfile輸出檔案完整路徑,多檔案時自動加序號必要
query產生頁面的 SQL 查詢,支援多查詢必要
templatefileHTX 模板檔路徑,啟用後格式參數失效無
whentype執行時機:1=立即執行刪除、2=排程一次、3=每周、4=間隔、5=手動、10=資料異動觸發1
singlerow1=每筆記錄產生一檔案0
nrowsperpage每頁最大筆數,超過自動分頁含導覽連結0(不分頁)
blobfmtntext/image 欄位獨立輸出檔案並產生超連結,格式:`%n% FILE=... TPLT=... URL=...`空
charset / codepage中文請設 `gb2312` / `936`(簡體)或 `big5` / `950`(繁體)依伺服器
maketask0=只建立 SP、1=加密 SP+建立作業、2=不加密 SP+建立作業2

排程類型(whentype)速查表

值行為需搭配參數
1立即執行,完成後刪除任務無
2建立任務,targetdate/targettime 指定時間執行一次targetdate, targettime
3每周執行,dayflags 指定星期targetdate, targettime, dayflags
4固定間隔執行targetdate, targettime, numunits, unittype
5建立任務不排程,手動 sp_runwebtask 執行procname
10資料異動觸發(datachg 指定資料表/欄位)datachg

相關系統存儲程序

  • `sp_runwebtask [@procname=] 'name' [, @outputfile=] 'file'` — 手動執行任務
  • `sp_dropwebtask {[@procname=] 'name' | [@outputfile=] 'file'}` — 刪除任務
  • `sp_enumcodepages` — 列出所有支援的字碼頁與字元集對照

實務應用範例:每日自動產生報表

EXEC sp_makewebtask
    @outputfile = 'D:\Reports\DailySales.htm',
    @query = 'SELECT * FROM v_DailySales WHERE SaleDate = CONVERT(DATE, GETDATE())',
    @whentype = 4, @numunits = 1, @unittype = 2, -- 每天
    @targettime = '060000', -- 凌晨 6 點
    @templatefile = 'D:\Templates\SalesReport.htx',
    @charset = 'big5', @codepage = '950',
    @procname = 'GenDailySalesReport',
    @maketask = 2

注意事項

  • SQL Server 2008 起標記為淘汰功能,新專案請改用 SSRS、應用層渲染或 Power Automate
  • 輸出目錄需 SQL Server 服務帳號寫入權限
  • 大量資料輸出時注意磁碟空間與執行逾時
  • 中文編碼務必正確設定 `charset`/`codepage`,否則產生亂碼
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved