MSSQL CLR사용에 대해...

1231234 2014.12.09 15:12 Views : 3478

안녕하세요


MSSQL CLR을 이용해서 어떤 기능을 만들고 있는데요


내용은 WMI 정보를 읽어 오는 CLR프로시저인데 몇가지 항목을 루프 돌면서 가져오다 보니 속도가 너무 느려서

멀티 쓰레드를 이용해서 가져오도록 개발 중인데요


여러개의 쓰레드를 생성해서 각각 1개씩의 WMI 정보를 읽어와서 

SqlContext.Pipe.SenResultRow()를 이용해서 실행결과가 한개의 테이블 형태로 보여지게 하려는데...


CLR프로시저를 실행하면

"요청한 작업을 수행하려면 SQL Server 실행 스레드가 필요합니다. 현재 스레드는 사용자 코드 또는 SQL Server가 아닌 다른 엔진 코드에서 시작했습니다."

이렇게 오류가 뜨네요


대략 CLR 코드는 아래와 같습니다.


SqlContext.Pipe.SenResultsStart(record);

foreach (string s in arrString)

{

Thread t = new Thread(() => getWMIData(s));

t.start();

}

SqlContext.Pipe.SenResultsEnd(record);


public static void getWMIData(string s)

{

...

SqlContext.Pipe.SenResultsRow(record);

}


MSSQL CLR을 이용해서 멀티 쓰레드는 사용이 안되는건가요?


* 참고로 같은 구문을 C#프로그램으로 Console.WriteLine으로 찍어보면 정상적으로 실행됩니다.

No. Subject Author Date Views
Notice 2023년 1월 - SQLER의 업데이트 강좌 리스트 코난(김대우) 2023.01.02 466
8409 디비 초보자 질문 드립니다. [1] akfflr 2014.12.11 2800
8408 mdf 파일 만으로 연결하기 [1] taz2315 2014.12.11 4003
8407 시간끼리 합계계산이 가능한가요? [3] 뽀챙 2014.12.11 4092
8406 64bit에서 32bit로의 다운그레이드시 발생할 수 있는 문제? [1] 샬랄라 2014.12.10 2860
8405 쿼리 문제입니다.!! [2] 안얄랴줌니다 2014.12.10 3419
8404 max memomry 변경 질문 입니다. 운치 2014.12.10 2862
8403 express 는 유지관리 없는건가요? [4] Sinlay 2014.12.10 2626
8402 백업에 관련된 질문입니다.. [2] Sinlay 2014.12.10 2506
8401 테이블에서 테이블 bulk Insert 질문 [4] 양아치베이비 2014.12.10 3009
8400 동접이 많은 상황에서의 분산 [2] 전념 2014.12.09 3357
8399 행 분리 가능 할까요? [2] ssunsori 2014.12.09 2573
» MSSQL CLR사용에 대해... [1] 1231234 2014.12.09 3478
8397 라이선스 질문 삐야기 2014.12.09 2261
8396 동적쿼리 페이징을 정적쿼리로 할수가 있나요? [1] 황혼사 2014.12.08 3208
8395 SELECT문 질문있습니다. (경로표시) [1] 뽀챙 2014.12.06 3099
8394 가로로 표현하고 싶습니다만.. [1] SQL왕왕초보 2014.12.04 3677
8393 MSDTC on server 'XXXXX' is unavailable 처리 방법 [3] 토갈량 2014.12.04 3327
8392 Where 절에 조건문(?)을 변수로...가능할까요 [7] Sinlay 2014.12.04 9882
8391 스탠다즈 버전에서 데이터 감사 기능 더따뜻한 2014.12.04 3012
8390 OUTPUT 절.. MySQL에는 없나요?? [1] 없다 2014.12.03 11366





XE Login