怎样从SQL Server 2005 CLR存储过程返回结果集
2008-09-05 10:01:56 来源:WEB开发网核心提示:问题 我们有时会遇到关于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为例)...
更多精彩
赞助商链接