2009-03-13 6 views
2

TimeZoneInfo 클래스에는 MayLeakOnAbort라는 호스트 보호 속성이 있습니다.SQL Server 2005에서 .NET TimeZoneInfo 클래스에 액세스하려면 어떻게합니까?

이것은 SQL Server CLR에서 액세스하지 못하는 것 같습니다. 하지만 해결 방법이 있습니까?

+0

OP는 새로운 질문을 작성하여 응답에 초점을 맞추고 있다고 말합니다. http://stackoverflow.com/questions/614600/access-timezoneinfo-from-sql-2005-server/643607#643607. @papillonuk 대신 원본 질문을 수정하십시오. –

+0

안녕하세요, Michael/Ken, 예전 질문의 건방진 부활에 유감입니다. 내 자신의 대답이 내 이유를 설명하기를 바랍니다. 다른 사용자의 의견을 비 연속자로 만드는 것처럼 이전 질문을 너무 많이 다시 편집하고 싶지 않았습니다. 여기에 제 1 질문이었고 제가 수업을 배웠다고 생각합니다! – user74207

+0

다른 질문은이 문제를 논의하기에 더 좋은 곳입니다. 작성자가 SQL Server 내부에서 TZI를 사용해야하는 이유에 대해 자세히 설명합니다. 현재의 형태로이 질문에 대한 정답은 "하지 마라. 필요한 것에 합격"입니다. 원래 질문에 대한 대답은 실제로 SQL Server에서 TZI를 호출하는 것과 관련이 있습니다. –

답변

2

예. 다른 .NET 클래스에 캡슐화 한 다음 SQL Server의 .NET 어셈블리에서 참조합니다. 그런 다음 SQL Server 데이터베이스의 보안을 해제하여 두 번째 클래스를 실행할 수 있습니다.

그래도 작동하지 않으면 COM 래퍼를 만든 다음 Interop 래퍼를 만들고 SQL Server에서 보안을 파괴하여 실행할 수 있습니다.

이제 실제로 보안이 중요한 경우 필요한 비트를 래핑하고 SQL 코드의 서비스로 사용하는 WCF 서비스를 만들 수 있습니다. 그것은 약간의 대기 시간이며 SQL Server 자체의 개체에 대해서는 작동하지 않지만 훨씬 깨끗합니다.

snarky 울리는 답변에 대해 유감스럽게 생각하지만 지금은 이상한 분위기에 있습니다. :-)

0

는 안전하지 않은대로 CLR 절차를 배포 :

이 Visual Studio에서

오른쪽 클릭 프로젝트> 속성> 데이터베이스 탭> 권한 수준 그리고

이 그것을 배포하는 경우가 있으므로 데이터베이스를 구성해야 안전하지 않은 어셈블리를 수락합니다. 두 가지 옵션 :

데이터베이스 소유자 (DBO)이 UNSAFE ASSEMBLY 권한을 가지고 있으며 데이터베이스가 신뢰할 수있는 데이터베이스 재산에있다;

... 또는 어셈블리는 인증서 또는 안전하지 않은 ASSEMBLY 권한이 해당 로그인 이있는 비대칭 키 을 체결한다.

+1

Snarky comment : 어셈블리를 안전하지 않은 것으로 컴파일하지 않으면 해당 확인란을 사용하여 배포자에게 안전하지 않은 것으로 배포하도록 지시합니다. 비록 컴파일에 영향을 미치지 않지만, – erikkallen

+0

해명 해 주셔서 고마워요 - 내 답변 업데이트 :) – frankadelic

관련 문제