Исключение при экспорте данных в Excel - PullRequest
0 голосов
/ 01 декабря 2010

Я получаю следующую ошибку при экспорте данных в таблицу Excel

ERROR:
Message : 
Exception of type 'System.Web.HttpUnhandledException' was thrown.
Error Description : 
System.Web.HttpUnhandledException: Exception of type 'System.Web.HttpUnhandledException' was thrown. ---> System.Data.SqlClient.SqlException: Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.

Кто-нибудь подскажет мне, что я должен делать.

CODE:
gridData.dataSource = GetData()
gridData.DataBind()


Response.Clear()
Response.AddHeader("content-disposition",   "attachment;filename=CompletionDatesReport.xls")
Response.Charset = ""
Response.Cache.SetCacheability(HttpCacheability.NoCache)
Response.ContentType = "application/vnd.xls"
Dim stringWrite As StringWriter = New StringWriter()
Dim htmlWrite As HtmlTextWriter = New HtmlTextWriter(stringWrite)
gridData.RenderControl(htmlWrite)
Response.Write(stringWrite.ToString())
Response.End()

Ответы [ 2 ]

0 голосов
/ 01 декабря 2010

Я бы согласился с Марком.Посмотрите на ваш запрос и оптимизируйте его, удалив операторы DISTINCT и т. Д., Чтобы сделать его быстрее.

0 голосов
/ 01 декабря 2010

Без кода мы можем только догадываться, но в SqlException: Timeout expired есть большая подсказка - что говорит о том, что ваш запрос занимает слишком много времени. Вы можете увеличить время ожидания для команды (но постарайтесь сохранить его нормальным ...) с помощью SqlCommand.CommandTimeout, но, как правило, предпочтительным является написание запроса для большей эффективности или не извлечение большого количества данных в одном запросе.

...