怎样从SQL Server 2005 CLR存储过程返回结果集
2008-09-05 10:01:56 来源:WEB开发网 闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁炬儳缍婇弻鐔兼⒒鐎靛壊妲紒鐐劤缂嶅﹪寮婚悢鍏尖拻閻庨潧澹婂Σ顔剧磼閹冣挃闁硅櫕鎹囬垾鏃堝礃椤忎礁浜鹃柨婵嗙凹缁ㄧ粯銇勯幒瀣仾闁靛洤瀚伴獮鍥敍濮f寧鎹囬弻鐔哥瑹閸喖顬堝銈庡亝缁挸鐣烽崡鐐嶆棃鍩€椤掑嫮宓佸┑鐘插绾句粙鏌涚仦鎹愬闁逞屽墰閹虫捇锝炲┑瀣╅柍杞拌兌閻ゅ懐绱撴担鍓插剱妞ゆ垶鐟╁畷銉р偓锝庡枟閻撴洘銇勯幇闈涗簼缂佽埖姘ㄧ槐鎾诲礃閳哄倻顦板┑顔硷工椤嘲鐣烽幒鎴旀瀻闁规惌鍘借ⅵ濠电姷鏁告慨顓㈠磻閹剧粯鈷戞い鎺嗗亾缂佸鏁婚獮鍡涙倷閸濆嫮顔愬┑鐑囩秵閸撴瑦淇婇懖鈺冪<闁归偊鍙庡▓婊堟煛鐏炵硶鍋撻幇浣告倯闁硅偐琛ラ埀顒冨皺閺佹牕鈹戦悙鏉戠仸闁圭ǹ鎽滅划鏃堟偨缁嬭锕傛煕閺囥劌鐏犻柛鎰ㄥ亾婵$偑鍊栭崝锕€顭块埀顒佺箾瀹€濠侀偗婵﹨娅g槐鎺懳熺拠鑼舵暱闂備胶枪濞寸兘寮拠宸殨濠电姵纰嶉弲鎻掝熆鐠虹尨宸ョ€规挸妫濆铏圭磼濡搫顫嶇紓浣风劍閹稿啿鐣烽幋锕€绠婚悹鍥у级瀹撳秴顪冮妶鍡樺鞍缂佸鍨剁粋宥夋倷椤掍礁寮垮┑鈽嗗灣閸樠勭妤e啯鍊垫慨妯煎亾鐎氾拷

核心提示:问题 我们有时会遇到关于CLR函数或存储过程的需求,例如我们可能需要调用一个存储过程来获得某一特定文件夹下的文件列表,怎样从SQL Server 2005 CLR存储过程返回结果集,我们怎样使用CLR将文件列表作为一个标准结果集(例如行和列)返回呢?专家解答SQL Server 2005和之后的版本集成了CLR(通用语
问题
我们有时会遇到关于CLR函数或存储过程的需求。例如我们可能需要调用一个存储过程来获得某一特定文件夹下的文件列表。我们怎样使用CLR将文件列表作为一个标准结果集(例如行和列)返回呢?
专家解答
SQL Server 2005和之后的版本集成了CLR(通用语言运行时),它使得我们可以使用Microsoft .NET代码编写存储过程、触发器、用户友好的函数、用户友好的聚合和用户友好的类型;例如Visual Basic .NET或C#。被增强的各种T-SQL CREATE命令使得我们可以定义一个数据库对象(例如一个存储过程)并将我们的.NET代码与它连接起来。当你执行这个存储过程的时候,.NET代码就被执行了。
当编写一个存储过程或函数时,返回数据所用的最常见方法是结果集。在这篇技巧中,我们将执行一个存储过程来获得某个文件夹的文件列表并将这个列表作为一个具有行和一列的标准结果集返回。我们将执行下面的步骤:
激活CLR。
获得C#代码示例。
部署CLR存储过程。
激活CLR
默认情况下,在SQL Server 2005中CLR没有激活。你可以通过执行外围应用配置器(Surface Area Configuration)工具或sp_configure来激活CLR。在外围应用配置器中点开层级找到CLR Integration,然后点击复选框来激活它,如下图所示:
要使用sp_configure来激活CLR,执行下面的脚本:
sp_configure'clrenabled',1
GO
reconfigure
GO
代码示例
下面的C#函数将获得某文件夹的文件列表并将这个列表作为一个结果集返回。这个函数的参数如下所示:
- ››SQL Server 2008 R2 下如何清理数据库日志文件
- ››怎样使用Android系统属性
- ››sqlite 存取中文的解决方法
- ››SQL2005、2008、2000 清空删除日志
- ››SQL Server 2005和SQL Server 2000数据的相互导入...
- ››sql server 2008 在安装了活动目录以后无法启动服...
- ››sqlserver 每30分自动生成一次
- ››sqlite 数据库 对 BOOL型 数据的插入处理正确用法...
- ››sql server自动生成批量执行SQL脚本的批处理
- ››sql server 2008亿万数据性能优化
- ››SQL Server 2008清空数据库日志方法
- ››怎样开启主流浏览器“禁止跟踪”功能(以IE10为例)...
更多精彩
赞助商链接