如何使用表值函数进行扩展计划
其他元数据在 SqlFunction 属性的参数中定义。在前一示例中,列名和类型以及返回表的名称都是在此属性中定义的。 将此函数部署到某 SQL Server 实例后,就可以运行以下查询来查看应用程序日志中的最后 10 项。 SELECT TOP 10 gTime, ssage, stanceIdFROM adEventLog(N\'Application\') as T
结果如图 1 所示: 图 1. 查询结果将表值函数用作数据处理扩展的替代方法 Reporting Services 数据处理扩展功能可用于通过实现一组 接口来对数据源建模。这在概念上类似于如何才能将表值函数用于 Reporting Services。表值函数明显优于数据处理扩展。 优点: 首先,表值函数比数据处理扩展要容易实现的多。只需创建两种方法即可实现表值函数。而数据处理扩展则必须实现许多接口。同样,部署模型也更简单明了。Microsoft Visual Studio 2005 可自动将 .NET Framework 表值函数部署到 SQL Server,之后,该函数即立即变得可从 Reporting Services 中使用。为了部署某数据处理扩展,必须将程序集复制到客户端和报表服务器,并在这两处 XML 配置文件。 表值函数的另一个重要优点在于它可以是与之连接的数据库中某一联接的组成部分。这意味着 SQL Server 中的关系数据在被放入报表之前,可以与该函数中定义的自定义数据混合在一起并筛选出来。这对于数据处理扩展则是不可能的,因为 Reporting Services 不支持数据源之间的联接查询。 缺点: 数据处理扩展较之表值函数要强大和灵活得多。表值函数只能对单个数据库表建模,而数据处理扩展可以对整个数据库的等效项建模。同样,数据处理扩展可以充当完全自定义的数据源,而且它可以有自己的查询语言和连接语法。对于不同类型的数据,使用 SQL 作为查询语言并非总是理想的选择。例如,Reporting Services 包括 XML 数据的数据处理扩展,它使用类似于 Xpath 的查询语言。当开发人员希望完全控制数据访问代码路径时,数据扩展很有用。 将表值函数与 SQL Server Reporting Services 一起使用 您必须先完成三件事,然后才能将表值函数用于 Reporting Services。首先,必须配置 SQL Server,使之允许 CLR 集成。其次,必须在 Visual Studio 中开发表值函数。最后,必须将该函数部署到某 SQL Server 实例中。 要让 SQL Server 允许 CLR 集成,必须使用 SQL Server 外围应用配置器工具或运行查询来设置一个标志。 配置 SQL Server,使之允许 CLR 集成: 1.单击“开始”按钮,依次指向“所有程序”、Microsoft SQL Server 2005 和“配置工具”,然后单击“外围应用配置器”。 2.在 SQL Server 2005 外围应用配置器工具中,单击“功能的外围应用配置器”。 3.选择您的服务器实例,展开“数据库引擎”选项,然后单击“CLR 集成”。 4.选择“启用 CLR 集成”。 此外,您可以在 SQL Server 中运行以下查询(此查询需要 ALTER SETTINGS 权限): USE mastersp_configure \'show advanced options\', 1;GORECONFIGURE;GOsp_configure \'clr enabled\', 1;GORECONFIGURE;GO
对于A股起到了作用 开发表值函数: 若要开发表值函数,请在 Visual Studio 中创建一个新的 SQL Server 项目。若要创建 SQL Server 项目,请打开“新建项目”对话框,展开 Visual C#,然后选择“数据库”。此时,系统会提示您输入数据库连接信息。有关详细信息,请参阅 SQL Server 2005 联机丛书中的如何:创建 SQL Server 项目。在您建立了数据库连接后,就可以编写表值函数了。在项目中创建一个空白 .cs 文件,文件名为 ,然后将示例函数从前一部分复制并粘贴到该文件中。 部署表值函数: 若要部署,您必须向 SQL Server 实例注册该函数和包含它的程序集。这一操作可通过 Transact-SQL 命令完成。以下脚本会注册 tvfEventLogs 程序集和 ReadEventLog 函数: CREATE ASSEMBLY tvfEventLog FROM\'D:\\assemblies\\tvfEventLog\\l\' WITH PERMISSION_SET = SAFE GOCREATE FUNCTION ReadEventLog(@logname nvarchar(100)) RETURNS TABLE (logTime datetime,Message nvarchar(4000), Category nvarchar(4000),InstanceId bigint) AS EXTERNAL NAME itMethod GO
此外,您还可以在解决方案资源管理器中右键单击相应的项目,并选择“部署”选项,直接从 Visual Studio 中部署您的程序集。Visual Studio 会使用 SqlFunction 属性来自动确定函数签名和其他必需的元数据。
改善脱发的方法钦州白癜风医院哪家好
哈尔滨男科医院哪家医院好
- 上一页:如何使用表值函数进行扩展物业
- 下一页:如何使用表值函数进行扩展覆盖
-
男女比例导致失衡,可仍旧有不少人都想生男孩,这三个原因很真实
随着直到现在社才会随之发展,人们的孤独水准也在随之的减低,物价的增高...
2023-11-20
-
申通地铁:努力将疫情制约降到最低
5年底20日,申通地鉄(600834)在中央线上举行2021本年度业绩暗示会。 申通地鉄...
2023-11-10
-
73年前紧接著包办婚礼:2人未成年,男方一脸无所谓,女方面无表情
就在昨天,一个片段刷影亦同,一位据传“大谷Spitzer”的帖子用户利用现代...
2023-11-04
-
一美演技爆表的片子——《分裂》(上)
陌生人似乎地拉低上衣,想盖住盲目性感的丝袜,一美注意到却怒了 (你来...
2023-10-28
-
儿歌多多魔力公主西西 公主换装记 宝宝来帮公主换漂亮的衣服 儿歌多多 星河知识计划 智慧生活星 抖音
儿歌多多魔法王子西北西北 王子装配所撰 宝宝来帮王子再多漂亮的衣服 儿歌...
2023-10-24
-
Switch国际版Eshop折扣史低推荐 篇四百六十九:它们小众吗?相信我,只要您尝试,就会一直玩下
笔记:Switch战地记者【第一步,关心我!这比较大狠就会让您的Switch玩乐感受...
2023-10-23