안녕하세요.
C/C++ COM 기반 OLE DB로
SQL Server 2000에 연결하여 Async 작업이 가능한 모듈을 만드는 중입니다.
자료를 찾다찾다보니
SQLOLEDB 프로바이더로는 Async가 지원이 안 되고,
SQL Server 2005에 달려서 나온 SQL Native Client 라는 프로바이더를 사용해야
Async 옵션이 제대로 적용이 되더군요.
헌데, 제가 지금 봉착한 문제가 Connection은 무리 없이 Async로 잘 동작 하는데
Execute는 Async동작을 하지 않고 Sync와 별 차이 없이 동작합니다.
(Execute 메소드를 호출하면 바로 함수가 리턴되고 블러킹되지 않아야 하는데,
Fetch작업이 많은 저장프로시져를 실행하면 살짝살짝 Blocking이 되는 걸 느낄 수 있습니다,
또, 비동기 옵션을 주지 않은 모듈과 성능 테스트를 해보아도 아무런 차이가 없습니다.)
어떤 문서를 찾아보아도 명확한 예제도 없고
그저 서술형의 문서들만 있어서 제대로 코딩을 했는지도 미심쩍습니다.
혹시 OLE DB로 비동기 통신 모듈 구현해보신 분 계신다면 답변 부탁드리겠습니다.
|