반응형


CLR에 대한 맛보기 강좌 후 1주일인가요?

 

될 수 있으면 정기적 Update를 하고 싶은데 그것도 뜻대로 잘 안되죠?

이번에 소개 시켜드리고자 하는 과정은 두 가지 입니다.

 

실행을 했을 때 결과는 크게 두 가지 형태가 있습니다.

하나는 Grid형식(or text)의 결과 또 다른 하나는 메시지 형태입니다.

지난 과정에서는 Grid 형식으로 출력했습니다.

이런 Method를 사용했죠. SqlContext.Pipe.ExecuteAndSend

 

SqlContext.Pipe.Send 이번엔 이런 과정을 통해 메시지 창에 결과가 뿌려지게 해보죠

 

 

두번째는 컴파일을 visual studio 통해 직접 배포하는 과정을 했으니 이번엔

Compile 직접하여 Assembly 불러들이고, Procedure에서 Assembly

불러들이는 배포과정을 수동으로 처리해보겠습니다.

 

 

먼저 과정과 동일하게 visual Studio 실행하여 c# SqlServer Project 하나 만드세요.
Project
Add > New Item Stored Procedure 추가하십시오. (그림참고)



위의 과정이 되셨다면 간단한 코드를 추가해볼까요?

코드를 입력하라는 곳에 다음과 같은 코드를 추가해보세요.


SqlContext
.Pipe.Send("hello World From Sql clr");




이번엔 컴파일 배포를 하지 마시고 저장만 하고 나오세요.

배포를
하기 위해 먼저 dll 컴파일을 해야 합니다. Compiler 위해 2005 명령프롬프트를 실행하세요.


실행을 마치셨다면 command prompt 같은 창이 하나 나올겁니다.

이것을 실행하지 않으려면 Path설정을 하시면 되는데 그런건 이야기 하지 않겠습니다.

그냥 제공되는 것만 쓰겠습니다.

 

아까 우리가 닫았던 파일의 project 있던 , 정확히 이야기하면 cs 있던 곳으로 가서 dll 하나 만들어볼까 합니다.

 

저의 경우는 Root:\Lecture_CLR\Hello2 있습니다.


Root:\Lecture_CLR\Hello2\csc /t:library StoredProcedure1.cs



경로에서 이렇게 입력하여 실행하면 c# compiler version등등과 함께 아무 메시지도 없는 것을 보게 됩니다. (dir *.dll dll 생성된 것을 확인하십시오.)

 

여기까지가 수동 컴파일입니다.

이제 DB 배포하는 과정이 남았습니다.

 

먼저 dll Database load하는 것을 Assembly라고 하는데요

 

USE YOULYDB

GO

 

CREATE ASSEMBLY ASM_HELLO2 FROM 'C:\LECTURE_CLR\Hello2\StoredProcedure1.dll'

WITH PERMISSION_SET = EXTERNAL_ACCESS

go





이제 PROCEDURE 하나 만들고 실행하는 과정만 남았네요


CREATE
PROC USP_HELLO_CLR2

AS

EXTERNAL NAME ASM_HELLO2.StoredProcedures.USP_HELLO_CLR2

GO





실행하면 다음과 같은 결과를 보시게 됩니다.




도움파일 : StoredProcedure1.CS

           배포.SQL

반응형

'연구개발 > CLR' 카테고리의 다른 글

CLR 강좌 - TEXT파일 읽기  (0) 2009.06.22
CLR 강좌_ 함수 인자 주고 받기  (0) 2009.06.22
CLR 권한 처리 문제  (0) 2009.06.22
SQL 2005 따라하기 6 (CLR)  (0) 2009.06.22
CLR 강좌 - CLR 환경 설정 및 맛보기  (0) 2009.06.22

+ Recent posts