网站大量收购闲置独家精品文档,联系QQ:2885784924

SQLServer2005中使用CLR函数实现字符串排序.docVIP

SQLServer2005中使用CLR函数实现字符串排序.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
SQL Server 2005中使用CLR函数实现字符串排序 ?伴随着SQL Server 2005 ,微软发布了公共语言运行库(CLR),允许开发人员和DBA能够利用SQL Server之外的托管代码。   CLR为那些懂的.net开发语言,但是不懂的T-SQL语言的人,提供了一种实现方式。使用CLR,可以直接在SQL Server中创建存储过程、触发器,用户自定义函数,集合体和类型等等。在本文中,我们通过一个例子,来看看如何使用CLR函数,对输入的字符串进行分析、排序,最后得到排序后的字符串。   假设储存在数据库表中的数据如下所示:   apple,pear,orange,banana,grape,kiwi   我们希望的结果排序如下所示:   apple,banana,grape,kiwi,orange,pear   我们可以写SQL Server函数来实现这一功能:解析字符串,将结果储存在一个临时表中,然后按指定顺序检索结果,并将字符串重新结合在一起。   我们也可以编写一个简短的CLR函数,来实现同样的功能。接下来让我们来看看CLR函数具体是如何实现这一功能的。   步骤1:启用CLR集成   首先需要在SQL Server外围应用配置器中进行设置,确保SQL Server已经启用了CLR。如图1所示: ? 图1:SQL Server 2005外围应用配置器   选择“功能的外围应用配置器”,显示如图2所示界面: 确保“启用CLR集成”这一项打勾,然后点“确定”按钮。 步骤2:编写CLR代码   首先,我们需要做的是编写CLR代码。采用VB.net或者C#来写都可以,在这个例子中我们将使用VB.NET 。   下面的范例代码中,创建了一个名为CLRFunctions的类,该类中包含了一个名为SortString的函数。SortString函数对输入的一个字符串变量进行排序,并返回一个排序后的字符串。   第一步:使用内置的VB函数,把 “,”作为分隔符分割输入的字符串,得到一个字符串数组;   第二步:采用Array.Sort,对数组中的数据进行排序列。这一部如果采用T-SQL来写的话,更为简单。   将代码保存到SQLServerCLRSortString.vb文件中。 Public Class CLRFunctions   Public Shared Function SortString(ByVal Name As String) As String   Dim i As Integer   Dim returnValue As String   Dim stringArray() As String    分割字符串,得到数组   stringArray = Split(Name, ,)    对数组进行排序   Array.Sort(stringArray)   初始化返回值字符串   returnValue =   For i = LBound(stringArray) To UBound(stringArray)   returnValue = returnValue stringArray(i) ,   Next i   Return returnValue   End Function   End Class 步骤3:编译CLR代码   为 在命令行状态下,可以使用vbc.exe应用程序来编译代码。具体命令如下所示:   C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\vbc /target:library C:\SQLServerCLRSortString.vb   vbc.exe应用程序,在.NET 2.0框架目录中可以找到,不同的服务器或桌面因安装路径不同可能会有差异。   编译成功后,将得到C:\SQLServerCLRSortString.dll这个DLL文件。把DLL拷贝到我们的SQL Server机器上   步骤4:在SQL Server中注册DLL   代码编译通过后,您需要与SQL Server中注册DLL。要实现到这一目的,可以在要使用该函数的数据库中能运行这些命令。   注册的目的,就是将外部创建的DLL与SQL Server内部对象进行绑定,这样外部DLL中的函数就可以和SQL Server中的正常函数一样进行调用了。   在下面的函数中,我们可以看到引用CLRFunctions.CLRFunctions.SortString由三个部分组成: 了使用此代码,需要先对代码进行编译。 ? *CLRFunctions – 装配引用   *CLRFunctions – VB.net 代码中所引用的类名   *SortStri

文档评论(0)

pdpp569 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档