Microsoft SQL Server 2005 的一項新增功能是其與 Microsoft .NET Framework 公共語言運行庫 (CLR) 的集成。這使得人們能夠將 .NET Framework 類和函數納入 Transact-SQL 語句和查詢。
CLR 集成的機制有多種:
• CLR 用戶定義函數(包括表值函數)。
• CLR 用戶定義類型。
• CLR 存儲過程。
• CLR 觸發器。
本白皮書說明如何使用 CLR 表值函數根據包括數據庫在內的各種源創建報表數據,從而創建可靠的 Reporting Services 報表。
擴展 Reporting Services
使用 .NET Framework 擴展 Reporting Services 並集成 CLR 功能的方法有多種,其中包括以下方法:
• 傳遞擴展 — 傳遞報表來響應事件
• 呈現擴展 — 除 Reporting Services 支持的之外,還能以其他格式顯示報表
• 安全擴展 — 提供您自己的身份驗證和授權機制用於查看和管理報表
• 數據處理擴展 — 通過開發能夠處理來自 Reporting Services 不支持的數據源的數據
• 自定義報表項 — 是自定義的服務器控件,可嵌入報表中,以提供除內置控件以外的其他功能
本白皮書闡述如何實現表值函數來處理數據,使之成為使用數據處理擴展的替代方法。有關擴展 Reporting Services 的詳細信息,請參閱 SQL Server 2005 聯機叢書中的 Reporting Services 擴展。
使用表值函數
表值函數用於通過編程方式在運行時創建表。它們創建的表可象任何其他數據庫表一樣用於 Transact-SQL 查詢語句。在 SQL Server 2000 中引入表值函數時,只能使用 Transact-SQL 創建它們。以下是在 Transact-SQL 中實現的表值函數的示例。