Класс не найден в сборке SQL - PullRequest
0 голосов
/ 20 мая 2009

Я пытаюсь сделать мою первую сборку CLR \ хранимую процедуру. Я скомпилировал код, используя CSC, и добавил сборку на сервер SQL. Сборка обнаруживается, но класс, кажется, отсутствует.

C # CODE

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 # CODE

СОЗДАТЬ ФУНКЦИОНАЛЬНЫЙ КОД

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

ОШИБКА Не удалось найти тип 'RegularExpressions' в сборке 'RegEx'.

1) Вы видите, что я делаю грубо?

2) Есть ли таблица или представление на сервере sql, которые позволяют мне видеть классы и функции внутри сборки?

1 Ответ

1 голос
/ 20 мая 2009

Согласно вашему фрагменту кода ваш класс RegularExpressions находится в пространстве имен TextFunctions.

Изменение кода T-SQL для использования TextFunctions.RegularExpressions.RegExReplace должно исправить это.

...