비즈니스 로직의 일부로 SQL 테이블에서 2000 개 이상의 행을 검색해야합니다. 복잡한, 절차 적 비즈니스 로직을 통해 이러한 행을 실행하십시오 (예, 절차 적이어야하며, 지금까지 연구 한 모든 실행중인 기술을 효율적으로 사용하지 않습니다). 그런 다음 데이터베이스를 업데이트하고 결과를 반환해야합니다.SQL CLR - 데이터 검색/결과 업데이트
SQLDataReader를 사용하여 - 데이터가 SQL에서 스트리밍되고 내 논리로 스트리밍됩니다. 올바르게 작동합니다.
로직이 데이터를 반복하고 필요한 변경을 수행합니다.
변경 사항을 저장하려면 - 실제로 매개 변수를 UPDATE 문에 채워서 결과를 보내지 않으려합니다. SQL에서 결과를 얻은 경우 임시 테이블을 기본 테이블과 조인하고 단일 TSQL Update 문에서 모든 업데이트를 수행합니다. 내 "테이블"에 의해 SQL CLR에 있고, 기본 테이블은 SQL 측면에서 끝났습니다.
결과를 XML로 직렬화하는 방법을 읽고 varchar 변수로 전체를 전송합니다.하지만 SQL Server 2008 R2를 사용하고 있습니다.
UDT 및 테이블 값 매개 변수를 살펴 보았지만 SQL CLR과 SQL간에 데이터를 전송할 수는 없습니다.
SQL CLR이 복잡한 비즈니스 논리와 함께 사용된다고 가정 할 경우 데이터를 전송하는 가장 좋은 방법이 없습니까? 나는이 문제를 직접적으로 다루거나 이야기하는 예를 아직 발견하지 못했다.
SQL CLR은 DLL에 넣고 서버 내에서 실행되도록 설계되었습니다. – Nik