2010. 4. 20. 12:17
공통모듈(컴포넌트)이 개발되면 여러 비지니스 로직에서 사용할 수 있다.

예를 들면 (COM+과 같은) 암호화 컴포넌트가 있는경우
암호화 컴포넌트는 asp, asp.net, sql server 2005(sqlclr을 통하여)에서 동일하게 사용이 가능하다.
성능상 로컬 라이브러리보다는 떨어지겠지만 개발생산성은 클 것이라 생각된다.

이러한 측면에서 SQLCLR은 개발자에게 이러한 것을 제공하며 제작하는 방법을 작성해본다~

1. VS2008 시작
2. 프로젝트 생성 
   C# > 데이터베이스 > SQL Server 프로젝트
3. SP 또는 Function을 개발 후 빌드
public partial class UserDefinedFunctions
{
    [Microsoft.SqlServer.Server.SqlFunction]
    public static SqlString Hello(string str)
    {
        // 여기에 코드를 입력합니다.
        return new SqlString("Hello " + str);
    }
};

4. SQL Server에서 어셈블리 등록
  1) clr 권한생성
EXEC sp_configure 'clr enabled' , '1' 
go 
reconfigure; 

  2) 어셈블리 등록
CREATE ASSEMBLY 등록명 FROM '경로\dll명'

  3) 개발 SP 또는 Function 등록
CREATE FUNCTION Hello 
@str NVARCHAR(1000)
RETURNS NVARCHAR(1000)
AS EXTERNAL NAME SqlServerProject1.UserDefinedFunctions.Hello

참고 URL
http://msdn.microsoft.com/en-us/library/ms345135(SQL.90).aspx
Posted by CoolDragon