CLR 整合概觀
簡述 SQL Server CLR 整合執行功能與 Visual Studio 2005 正式版支援情況。
註冊與執行受控代碼步驟
- 開發人員撰寫類別定義:預存程序/函數/觸發器(統稱常式)寫為 static/shared 方法;使用者定義類型/彙總寫為完整類別。編譯產生組件。
- 用
CREATE ASSEMBLY DDL 將組件上傳至 SQL Server 資料庫系統目錄。
- 建立 T-SQL 物件(常式、類型、彙總)並繫結至組件進入點(方法或類別)。用
CREATE PROCEDURE/FUNCTION/TRIGGER/TYPE/AGGREGATE 完成。
- 應用程式像呼叫 T-SQL 常式一樣呼叫 CLR 常式:T-SQL 查詢中呼叫 CLR 函數、用戶端或 T-SQL 批次呼叫 CLR 預存程序。
Visual Studio 2005 Beta 1 支援
- 新專案類型「SQL Server 專案」:開發、部署、除錯常式、類型、彙總。
- 程式碼模板快速上手;可加入其他組件參考。
- 建置產生組件;部署自動上傳二進位檔、建立資料庫物件(依自訂屬性 SqlProcedure/SqlFunction/SqlTrigger 等),並上傳原始碼與 .pdb 除錯符號。
除錯
除錯為開發核心體驗。SQL Server 2005 + VS 2005 提供易於安裝使用的除錯功能:連線除錯與傳統進程除錯類似,不受用戶端連線類型影響(支援 TDS 與 HTTP),支援跨語言無縫除錯(可從 T-SQL 進入 CLR 常式)。
CLR 與 T-SQL 比較
T-SQL 為 SQL Server 原生程式語言,含資料操作與定義功能。CLR 整合提供 .NET 語言支援,擴充程式設計能力。後續將詳細比較兩者優劣與適用場景。