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

使用 Microsoft Script Editor (MSE) 偵錯 SQL Workflow 事件腳本:即時偵錯實戰指南

     編輯:關於SqlServer

前言

SQL Workflow Service for SQL Server 的事件腳本 (VBScript) 偵錯向來困難。安裝 Office XP 附帶的 **Microsoft Script Editor (MSE)** 並啟用 **Just-In-Time (JIT) 偵錯**,即可在腳本錯誤發生時中斷進入程式碼檢視。

安裝與啟用 MSE

  1. 安裝 Office XP 應用程式 (如 Word 2002)
  2. Word → 工具 → 巨集 → **Microsoft Script Editor** → 提示安裝 MSE 元件
  3. 安裝完成後,`Alt+Shift+F11` 可從任何 Office XP 應用程式啟動 MSE
  4. MSE 選單 → 偵錯 → **安裝 Web 偵錯元件** (僅首次顯示) → 重新啟動 MSE
  5. 工具 → 選項 → 偵錯 → **JIT 設定** → 勾選「腳本」的「啟用附加」與「啟用 JIT 偵錯」

工作流應用程式偵錯前置作業

  • 建立 SQL Workflow 方案並加入事件腳本
  • **建議**:開發環境中將工作流 SeparateProcess = True,獨立進程運行,隔離偵錯影響

即時偵錯實戰演練

1. 插入會產生錯誤的測試腳本

於 Sub Create1_OnCreate 加入:

Dim intA, intB, intC
intA = 5
intB = 10
intA = intA - 5  ' 變為 0
intC = intB / intA  ' 除零錯誤

2. 觸發工作流並進入偵錯

  1. 儲存工作流,嘗試新增記錄觸發事件
  2. 彈出「即時偵錯」對話框 → 選擇 **MSE 實例** → 「是」
  3. 選擇程式類型:**腳本** → 確定

3. MSE 偵錯介面操作

  • 自動定位到錯誤行 (`intC = intB / intA`)
  • 可檢視區域/全域變數值 (即時運算視窗)
  • 可設定中斷點、逐行執行 (F8)、跳出函數 (Shift+F8)
  • 修正程式碼後,**必須切回 Office XP 開發環境**重新編譯/部署 (MSE 不支援直接編輯部署)

限制與因應

限制因應策略
必須在工作流服務伺服器本機偵錯遠端桌面連線至伺服器操作
修改程式碼需切回開發環境雙螢幕或快速切換 (Alt+Tab)
不支援遠端附加處理序僅限本機 JIT 觸發
VBScript 偵錯功能有限 (無呼叫堆疊完整檢視)善用 `Err.Description`、訊息盒輸出關鍵變數

替代方案:Visual Studio .NET 偵錯器

若環境允許,**Visual Studio .NET 內建偵錯器**功能更完整:支援遠端偵錯、呼叫堆疊、監看運算式、即時編輯繼續。但需專案為 .NET 組件而非純 VBScript 工作流。

結論

MSE + JIT 提供**零成本、無需預先設定中斷點**的即時偵錯能力,極適合「腳本突然報錯、現場急需找原因」的情境。配合 `SeparateProcess = True` 隔離影響,是 SQL Workflow 開發者的必備技能。

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