对varchat(max)或者 text字段进行操作,估计很多人会遇到8K字符的限制。
网上流传的最多的是用存储过程 把字符取成小段小段的做。很麻烦。
今采用 SQL Server 2005 SQLCLR搞定。
步骤如下:
1.首先安装sqlserver2005和visual studio 2005。启用sqlserver2005的clr ,应先在sqlsever的查询分析器按实际情况执行下边的语句已配置 CLR支持
exec sp_configure 'clr enabled'--查看状态
exec sp_configure 'clr enabled',1--1,启用clr\0,禁用clr
reconfigure with override--按提示(配置选项 'clr enabled' 已从 0 更改为 1。请运行 RECONFIGURE 语句进行安装。)运行此句
2.第一步,打vs新建项目类型-数据库-SQL Server项目。
(这部分可以参考 http://www.chenjiliang.com/Article/View.aspx?ArticleID=2413 SQLCLR(一)入门)
代码如下:
Code
//注意 12行 加入这行可以突破 T-SQL 8000字符的限制。
3.可以在sqlsever的查询分析器测试
select dbo.GLRegexReplace('abc','abc','def')
4.发布 用VS2005直接运行就可以了。如果需要发布到其他的电脑
参考
http://nayyeri.net/blog/create-assembly-issue-with-visual-studio-sql-server-database-projects/