讲述如何使用sqlclr表值函数进行扩展

讲述如何使用sqlclr表值函数进行扩展

ID:19716598

大小:78.00 KB

页数:8页

时间:2018-10-05

讲述如何使用sqlclr表值函数进行扩展_第1页
讲述如何使用sqlclr表值函数进行扩展_第2页
讲述如何使用sqlclr表值函数进行扩展_第3页
讲述如何使用sqlclr表值函数进行扩展_第4页
讲述如何使用sqlclr表值函数进行扩展_第5页
资源描述:

《讲述如何使用sqlclr表值函数进行扩展》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、讲述如何使用SQLCLR表值函数进行扩展>>教育资源库  MicrosoftSQLServer2005的一项新增功能是其与Microsoft.Frameeedash;传递报表来响应事件  •呈现扩展除ReportingServices支持的之外,还能以其他格式显示报表  •安全扩展提供您自己的身份验证和授权机制用于查看和管理报表  •数据处理扩展通过开发能够处理来自ReportingServices不支持的数据源的数据  •自定义报表项是自定义的服务器控件,可嵌入报表中,以提供除内

2、置控件以外的其他功能  本白皮书阐述如何实现表值函数来处理数据,使之成为使用数据处理扩展的替代方法。有关扩展ReportingServices的详细信息,请参阅SQLServer2005联机丛书中的ReportingServices扩展。  使用表值函数  表值函数用于通过编程方式在运行时创建表。它们创建的表可象任何其他数据库表一样用于Transact-SQL查询语句。在SQLServer2000中引入表值函数时,只能使用Transact-SQL创建它们。以下是在Transact-SQL中实现的表值函数的示例。CREAT

3、EfunctionEmployeeNames()returnsemployeeNamestable(idint,namenvarchar(20),)asbeginINSERTemployeeNamesvalues(1,'Ryan');INSERTemployeeNamesvalues(2,'John');INSERTemployeeNamesvalues(3,'Bob');returnend  然后,就可以从select语句中引用该函数,就象它是表一样:SELECTname

4、fromEmployeeNames()e--------------------Ryan  尽管这很有用,但还是受到Transact-SQL语言的限制,因为该语言主要应用于关系数据。如果您尝试离开其适用范围,那么Transact-SQL会变得多少有点不太灵活。在SQLServer2005中,您现在可以使用自己喜欢的.Frame;usingSystem.Data.Sql;usingMicrosoft.SqlServer.Server;usingSystem.Collections;usingSystem.Data.SqlT

5、ypes;usingSystem.Diagnostics;publicclassTabularEventLog{  [SqlFunction(TableDefinition=logTimedatetime,Message+    nvarchar(4000),Categorynvarchar(4000),InstanceIdbigint,    Name=ReadEventLog,FillRoe=FillRoerableInitMethod(Stringlogname)  {    returnnee,Environme

6、nt.MachineName).Entries;  }  publicstaticvoidFillRoetimeessage,outSqlCharscategory,    outlonginstanceId)  {    EventLogEntryeventLogEntry=(EventLogEntry)obj;    timeeessage=neessage);    category=newSqlChars(eventLogEntry.Category);    instanceId=eventLogEntry.I

7、nstanceId;  }}  该表值函数1234567下一页>>>>这篇文章来自..,。是作为TabularEventLog类的两个静态方法实现的。第一个方法(InitMethod)赋予SqlFunction属性,用于将它指定为该表值函数的入口点。此方法必须返回IEnumerable或IEnumerator对象。该对象包含将用于填充返回表的数据。执行该函数时,SQLServer将循环访问IEnumerator对象中的每个对象,并使用它来填充数据行。为此,它要将该对象传递到该类中的第二个方法FillRoe参数中指定。  

8、其他元数据在SqlFunction属性的参数中定义。在前一示例中,列名和类型以及返回表的名称都是在此属性中定义的。  将此函数部署到某SQLServer实例后,就可以运行以下查询来查看应用程序日志中的最后10项。SELECTTOP10T.logTime,T.Message,T.InstanceIdFROMdbo.Re

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。