2010-12-01 18 views
0

Je reçois l'erreur suivante alors que l'exportation de données à feuille ExcelException à venir lors de l'exportation des données vers 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. 

Tout le monde me suggérer ce que je dois faire.

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() 
+0

le code que vous avez ajouté nous dit dans l'édition ne nous dit toujours rien de votre accès db. Tout ce que nous savons, c'est que 'gridData' est impliqué quelque part. –

+0

Dans mon code, je lier l'enregistrement à DataGrid, puis exporter les données pour exceler sheet.In GetData() en utilisant la procédure stockée je reçois des données de Database.When exécuter la procédure stockée dans Query Analyzer OK mais dans mon code ERROR arrive. – Sukhjeevan

+0

Définir "ok" ... combien de temps cela prend-il? –

Répondre

0

Sans code que nous ne pouvons que deviner, mais il y a un indice important dans la SqlException: Timeout expired - ce qui suggère votre requête prend trop de temps. Vous pouvez augmenter le délai d'expiration d'une commande (mais essayez de la garder saine d'esprit ...) via SqlCommand.CommandTimeout, mais l'écriture de la requête pour être plus efficace, ou ne pas tirer autant de données dans une requête, serait généralement préférable.

+0

Salut Marc, j'ai écrit du code. vous pouvez l'obtenir en question. – Sukhjeevan

0

Je suis d'accord avec Marc. Jetez un oeil à votre requête et optimisez-la en supprimant les instructions DISTINCT, etc. pour le rendre plus rapide. L'exception levée est une exception ** sql **;