1. 程式人生 > 其它 >sql server 匯入c#dll

sql server 匯入c#dll

1.編寫c# 類庫

        [SqlFunction(IsDeterministic = true, DataAccess = DataAccessKind.None)]
        public static SqlString GetKeyWords(SqlString input, SqlString pattern)
        {
     
                
              GroupCollection groups = Regex.Match(input.ToString(), pattern.ToString()).Groups;

            return (SqlString)groups[1].Value;
        }

2.匯入dll

exec sp_configure 'clr enabled', 1;
reconfigure;

use JRE;
create assembly RegExp from'C:\Users\Administrator\Documents\visual studio 2015\Projects\Jsonparser\Jsonparser\bin\Debug\Jsonparser.dll'

3.編寫對應的函式

CREATE FUNCTION dbo.GetKeyWords
    (
      @input AS NVARCHAR(MAX) ,
      @pattern
AS NVARCHAR(MAX) ) RETURNS NVARCHAR(MAX) WITH RETURNS NULL ON NULL INPUT EXTERNAL NAME [RegExp].[Jsonparser.RegExp].[GetKeyWords];

4.呼叫函式

SELECT dbo.GetKeyWords('http://webapi.jrechina.com/MobileRequest.ashx?action=Jre&lan=1&Method=T_Houses.JreWebEnSearch&Cont={"ID":"137331"%2C"Category":"Near"}&EType=Soa&page=1&rows=8
','"ID":"(.*)"%2C|\}')

5.常用正則

"ID":"(\d{1,10})"
"KeyWord":"(.*)"