2009-04-15 3 views
1

.Net 응용 프로그램에서 해당 사용자로 DB 호출의 진행 상황을보고하기위한 try/true 메서드가 있는지 궁금합니다. 실제로 완성의 비율을 나타낼 수 있는지 궁금해 지거나 단순히 "로딩"애니메이션을 표시하여 무언가가 일어나고 있음을 나타낼 수있는 최상의/유일한 방법일까요?.Net에서 SQL 호출을위한 진행 표시 줄

또한 SQL2008은 누구에게도이를 알려 줍니까?

답변

1

결정적으로로드해야합니다.

이 -report 상태를 그 중 500 -get 모든 레코드의 수를 -get : 당신은 당신이 예를 들어, 많은 양의 데이터를 가져 오는됩니다 알고 예를 들어, 당신은 뭔가를 할 수 당신이 사용자의 모든 그들을받은 때까지 1000 500 더 -report 상태/총 % 이 -... 계속 -get 500/총 % 소요 뭔가

이 믿을 수 없을만큼 낭비입니다 취소했다 데이터베이스로가는 단순한 사실이 오버 헤드의 상당 부분이기 때문에 전혀 시간이 없습니다.

1

내가 아는 한이를 수행 할 방법이 없습니다. 나의 제안은 단지 영원히 회전하는 원형 진도 막대 중 하나를 사용하는 것입니다. Microsoft는 SQL 및 Project의 데이터베이스 작업에서이를 사용합니다. 여기

다음의 다양한있다 CodeProject의에 관한 기사입니다 :

http://www.codeproject.com/KB/vb/sql2005circularprogress.aspx?fid=324397&df=90&mpp=25&noise=3&sort=Position&view=Quick&select=2205952

아담 Berent을

0

당신은 원격 호출자에게 메시지를 보낼 수없는 대기 옵션 RAISERROR 사용할 수 있습니다 SQL 트랜잭션을 끝내지 않고. 물론 이것은 일반적인 try/catch 규칙을 어기 게되므로주의가 권장됩니다.

반면 "db 호출"은 복원 또는 백업 작업을 참조 할 수도 있습니다.이 경우 SMO (서버 관리 개체) 라이브러리에서 progress 이벤트를 간단히 사용할 수 있습니다.

또한 Linq와 같은 ORM 솔루션을 사용하여 일괄 업데이트 작업과 같은 "db 호출"을 처리 할 수 ​​있습니다. 그렇다면이 대답이 유용 할 수 있습니다. How can I get a percentage of LINQ to SQL submitchanges?