SQL 내에서 표준 .NET 어셈블리를 호출하는 방법
문제
내 테이블의 열에 System.Xml.XmlConvert.Encode 메서드를 사용하여 인코딩된 데이터가 있는 문제가 있습니다.
이제 SQL 내에서 이 데이터를 조작해야 하는데 System.Xml.XmlConvert.Decode 메서드를 복제하는 방법을 찾지 못했습니다.
그래서 저는 SQL 내에서 System.XML 네임스페이스를 사용하여 내 어셈블리 중 하나에 래핑할 필요 없이 이 메서드에 액세스할 수 있는 방법을 조사해 왔습니다.이것이 가능한가?즉.T-SQL을 통해 이 어셈블리에 직접 액세스하려면 어떻게 해야 하나요?
해결책
.NET for SQL을 사용하여 추가 기능을 작성하는 몇 가지 예가 있습니다.추가 기능을 만들려면 SQL 2005 이상이 필요하다고 생각합니다.
다음은 특히 유용한 예입니다.
MSDN에서 정규식을 사용하여 값의 유효성을 검사하는 CLR SQL 사용자 정의 함수 만들기
귀하의 경우에는 byte[]를 취하고 문자열(디코드)을 반환하는 함수와 문자열을 취하고 byte[]를 반환하는 해당 함수를 작성하고 싶을 것입니다.
실제로 byte[]를 직접 사용할 수 있는지는 확실하지 않지만, 필요한 경우 16진수 문자열을 가져와 varbinary()로 변환할 수 있는 해당 래퍼 함수를 SQL에서 작성할 수 있어야 합니다.
편집하다:
다음은 이전 링크가 사라질 경우를 대비해 이전 링크에 포함된 다른 참조에 대한 좀 더 지속 가능한 링크입니다.
제휴하지 않습니다 StackOverflow