В JavaScript, \ w и \ d являются ASCII, а \ s - Unicode. Не спрашивай меня, почему. JavaScript поддерживает \ p с категориями Unicode, которые вы можете использовать для эмуляции Unicode-совместимых \ w и \ d.
Для \ d use \ p {N} (числа)
Для \ w используйте [\ p {L} \ p {N} \ p {Pc} \ p {M}] (буквы, цифры, символы подчеркивания, метки)
Обновление: К сожалению, я ошибся об этом. JavaScript также официально не поддерживает \ p, хотя некоторые реализации могут поддерживать это. Единственная поддержка Unicode в JavaScript-регулярных выражениях соответствует конкретным кодовым точкам с помощью \ uFFFF. Вы можете использовать их в диапазонах в классах символов.
Скопируйте свой блок файл DLL в локальный диск на Ваших различных серверах. Затем зарегистрируйте свой блок в базе данных:
create assembly [YOUR_ASSEMBLY]
from '(PATH_TO_DLL)'
... затем Вы создаете функцию, ссылающуюся на соответствующий открытый метод в DLL:
create proc [YOUR_FUNCTION]
as
external name [YOUR_ASSEMBLY].[NAME_SPACE].[YOUR_METHOD]
Обязательно используйте [скобки, особенно вокруг NAME_SPACE. Пространства имен могут иметь любое количество точек в них, но идентификаторы SQL не могут, если части явно не отделены квадратными скобками. Это было источником многих головных болей, когда я сначала использовал SQL CLR.
Быть ясным, [YOUR_ASSEMBLY] - имя, которое Вы определили в SQL; [NAME_SPACE] является пространством имен.NET в DLL, где Ваш метод может быть найден; и [YOUR_METHOD] является просто названием метода в том пространстве имен.
Чтобы добавить больше деталей/разъяснений к ответу @kcrumley выше:
[NAME_SPACE] - это полное квалифицированное имя типа, а не только пространство имен
.
- Т.е. если ваш класс называется StoredProcedures
в пространстве имен My.Name.Space
, вы должны использовать [My.Name.Space.StoredProcedures]
для части [NAME_SPACE].
Если ваши управляемые хранимые процедуры находятся в классе без определенного пространства имен, вы просто используете голое имя класса (например, [StoredProcedures]
).
Я также немного помучился, пытаясь понять, как добавить процедуру с аргументами/параметрами. Вот пример для тех, кто еще пытается это сделать:
CREATE PROCEDURE [YOUR_FUNCTION]
(
@parameter1 int,
@parameter2 nvarchar
)
WITH EXECUTE AS CALLER
AS
EXTERNAL NAME [YOUR_ASSEMBLY].[StoredProcedures].[YOUR_FUNCTION]