Индикатор выполнения звонков в SQL из .Net - PullRequest
1 голос
/ 15 апреля 2009

Мне интересно, есть ли проверенный / истинный метод для сообщения о ходе вызова БД из приложения .Net его пользователю. Мне интересно, возможно ли вообще указать процент выполнения или это лучший / единственный подход - просто отобразить анимацию «загрузки», чтобы показать, что что-то происходит?

Кроме того, SQL2008 обращается к этому кому-либо на сведения?

Ответы [ 3 ]

1 голос
/ 15 апреля 2009

Насколько я знаю, нет способа сделать это. Мое предложение состоит в том, чтобы использовать один из круглых индикаторов выполнения, который просто вращается навсегда. 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

Адам Берент

1 голос
/ 15 апреля 2009

Вы должны загружать вещи определенно. Например, если вы знаете , что, например, вы будете получать много данных, вы можете сделать что-то вроде:

-считать все записи получить 500 из них -отчетность 500 / всего% получить еще 500 -отчет о статусе 1000 / всего% -... продолжайте, пока вы их не получите, все пользователь отменил

Это было бы невероятно расточительно для чего-то, что совсем не требует времени, так как сам факт перехода в базу данных является большой частью издержек.

0 голосов
/ 13 февраля 2011

Вы можете использовать raiserror с опцией без ожидания, чтобы отправить сообщение обратно удаленному абоненту без завершения транзакции sql. Конечно, это нарушит обычные правила try / catch, поэтому рекомендуется соблюдать осторожность.

С другой стороны, «вызов БД» может также относиться к операции восстановления или резервного копирования, и в этом случае вы можете просто использовать событие progress в библиотеке SMO (объекты управления сервером).

Кроме того, решение ORM, такое как Linq, может использоваться для обработки вызовов db, таких как операции пакетного обновления. Если это так, то этот ответ может быть полезен: Как я могу получить процент от количества запросов LINQ to SQL?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...