2009-05-20 2 views
0

첫 번째 CLR 어셈블리 \ 저장 프로 시저를 만들려고합니다. 필자는 CSC를 사용하여 코드를 컴파일하고 SQL 서버에 어셈블리를 추가했습니다. 어셈블리가 나타나지만 클래스가 누락 된 것 같습니다.SQL 어셈블리에 클래스가 없습니다.

C# 코드

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Text.RegularExpressions; 
using Microsoft.SqlServer.Server; 


namespace TextFunctions 

public class RegularExpressions 
{ 
[Microsoft.SqlServer.Server.SqlFunction] 
public static string RegExReplace(string input, string pattern, string replacement) 
    { 

     Regex Reginstance = new Regex(pattern); 

     return Reginstance.Replace(input, replacement); 


    } 

}

END의 C# 코드

CREATE FUNCTION 코드

CREATE Function RegExReplace(@Input NVARCHAR(512),@Pattern NVARCHAR(127), @Replacement  NVARCHAR(512)) 
RETURNS NVARCHAR(512) EXTERNAL NAME RegEx.RegularExpressions.RegExReplace 

ERROR 어셈블리 '정규식'입력 'RegularExpressions'을 (를) 찾을 수 없습니다.

1) 내가 뭘하고 있는지 알 수 있니?

2) SQL Server에 어셈블리 내의 클래스와 함수를 볼 수있는 테이블 또는 뷰가 있습니까?

답변

1

RegularExpressions 클래스의 코드는 TextFunctions 네임 스페이스에 있습니다.

T-SQL 코드를 변경하여 TextFunctions.RegularExpressions.RegExReplace를 사용하도록 수정해야합니다.

+1

도움을 청합니다! 나는 당신이 말한 것을했지만, 함수를 생성하기 위해 SQL에 들어갔을 때 여전히 작동하지 않았다. 그런 다음 네임 스페이스 부분을 삭제하고 (필요하지 않음) dll을 다시 준수합니다. 모두 좋다. –

+0

그래서 새 답글을 게시하고 답을 답으로 표시하십시오. – Shimmy

관련 문제