DB2 .NET Data Provider를 사용하여 asymronously DB2 저장 프로 시저를 호출하는 방법이 있습니까?DB2 .NET Data Provider를 사용한 비동기 프로 시저 호출
답변
BeginExecuteNonQuery가 작동하지 않습니까?
문제는 BeginExecuteNonQuery가 없다는 것입니다.
적절한 방법은 시나리오에 따라 달라질 수 있습니다.
오라클에서 내가 수행 한 작업 항목 ID 대기열을 기반으로 DB에서 1000 개 항목의 XML 항목을 가져오고있었습니다. 한 번에 datareader를 사용하여 작업을 수행하지 못했기 때문에 여러 스레드에서 한 번에 하나씩 꺼 냈습니다 (각 스레드는 대기열이 비어있을 때까지 대기열에서 작업 항목을 가져 왔습니다). 각각의 스레드가 결과를 얻었을 때에 기반한 프로듀서 소비자 대기열에 XML을 넣습니다. 별도의 스레드가 생산자 고객 대기열을보고 데이터에서 XSL 변환을 수행하여 파일에 썼습니다. 물론 처음에는 단일 스레드로 수행하는 벤치마킹 이었지만이 작업은 상당히 느립니다.
내가 (스레딩에 대한 일반적인 조언이 가능한 스레드 풀을 사용하는 것입니다으로 대표 간접적으로도 않는) 당신은 64 개 이상의 항목이없는 제공 작동 할 수있는 시작합니다 threadpool/ asynchronous delegates를 사용하여 시도할 것. WaitHandle.WaitAll
usually has a limit of 64 work items.. 나는 1000s를 가지고 있기 때문에 좋은 선택이 아니었다.
메모리에서 나는 각각의 작업이 더 이상 없을 때 생산자 스레드를 정상적으로 종료 한 다음 생산자 소비자 대기열도 비어있을 때까지 차단합니다.
가장 중요한 것은 각 스레드에 DB 개체를 완전히 분리해야한다는 것입니다. 그렇지 않으면 스레딩 문제가 발생하여 비틀 거립니다.
Windows 양식/WPF 응용 프로그램에서 비동기 저장 프로 시저를 실행하려는 경우 background worker component을 사용하는 것이 좋습니다.
추가 정보가 필요하시면 알려주세요.
DB2가 BeginExecuteReader를 지원하지 않으면 비동기 대리자를 사용하여 트릭을 수행 할 수 있습니다. 기능적으로, 내장 된 것을 사용하는 것보다는 스스로 구현하는 것을 제외하고는 똑같은 것이다.
확인 여기에 예 : sql async query problem… 확실히 더 BeginExecuteNonQuery이 없음을 오라클의 경우
- 1. 비동기 저장 프로 시저 호출
- 2. Weblogic : 스키마 이름없이 DB2 저장 프로 시저 호출 (currentSchema 속성)
- 3. AjaxPro를 사용한 비동기 호출
- 4. VHDL의 프로 시저 호출
- 5. 저장 프로 시저 호출
- 6. 원격 프로 시저 호출
- 7. Oracle 저장 프로 시저 호출. 'No Data Found'예외 발생
- 8. 저장 프로 시저 프로필 방법 DB2
- 9. db2 저장 프로 시저. 잠금/해제 테이블
- 10. .NET 4.0 프로젝트에서 Npgsql Data Provider를 사용할 수 있습니까?
- 11. 원격 프로 시저 호출 정리
- 12. codeigniter에서 mysql 프로 시저 호출
- 13. 자바 JDBC 프로 시저 호출
- 14. Sparc 프로 시저 호출 규칙
- 15. SSIS에서 저장 프로 시저 호출
- 16. Wcf 원격 프로 시저 호출
- 17. 모듈에서 공유 프로 시저 호출
- 18. jdbc에서 저장 프로 시저 호출
- 19. IBM Data Studio 2.2.1.0의 저장 프로 시저 마법사
- 20. VB.NET에서 저장 프로 시저 호출 문제
- 21. IBM DB2 Data Studio - 디버깅이 작동하지 않습니다.
- 22. 다른 저장된 프로 시저 내에서 저장된 프로 시저 내에서 저장된 프로 시저를 호출하는 저장 프로 시저
- 23. 출력이 포함 된 저장 프로 시저 호출
- 24. .NET Remoting에서 비동기 호출 구현
- 25. DB2 저장 프로 시저 - 제어 된 대용량 레코드 삭제
- 26. 어셈블리 프로그래밍 및 프로 시저 호출 문제
- 27. 젠드 스토어드 프로 시저 호출 코드 개선하기
- 28. Oracle : 일괄 처리로 여러 프로 시저 호출
- 29. ASP.NET에서 Oracle 저장 프로 시저 호출
- 30. 버튼의 클릭 이벤트에서 함수 프로 시저 호출
. 필자는 DB2 .NET 데이터 공급자에 대해 알지 못합니다. 오라클의 경우 비동기 기능을 직접 수행해야했습니다. – RichardOD