Timeout expired à la lecture d'une table

Fermé
bender86 Messages postés 61 Date d'inscription mercredi 12 janvier 2011 Statut Membre Dernière intervention 19 mars 2014 - 5 déc. 2013 à 21:02
bender86 Messages postés 61 Date d'inscription mercredi 12 janvier 2011 Statut Membre Dernière intervention 19 mars 2014 - 8 déc. 2013 à 10:20
Bonjour,

J'essaie de parcourir une requête sur une table qui contient 2 millions de records mais j'ai une erreur TimeOut.
Comment élargir ce temps pour prévenir cette erreur lors de l'exécution de mon script? Si je mets un top 20 sur ma requête le script fonctionne bien mais moi je dois parcourir la table entière.

using (SqlConnection connection =
new SqlConnection(connectionString))
{
SqlCommand command =
new SqlCommand(_query, connection);
connection.Open();

SqlDataReader drMeta = command.ExecuteReader();

// Call Read before accessing data.
while (drMeta.Read())
{
cpt++;

}

// Call Close when done reading.
drMeta.Close();
}


Voici l'erreur complète:
5/12/2013 20:55:23 --->Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding. - at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning()
at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
at System.Data.SqlClient.SqlDataReader.SetMetaData(_SqlMetaDataSet metaData, Boolean moreInfo)
at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
at System.Data.SqlClient.SqlDataReader.ConsumeMetaData()
at System.Data.SqlClient.SqlDataReader.get_MetaData()
at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async)
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result)
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)
at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method)
at System.Data.SqlClient.SqlCommand.ExecuteReader()
at repriseCile.MoveFilesExtension.launch()

Merci de votre aide
A voir également:

1 réponse

bender86 Messages postés 61 Date d'inscription mercredi 12 janvier 2011 Statut Membre Dernière intervention 19 mars 2014
8 déc. 2013 à 10:20
Bonjour,
J'ai réglé le problème en mettant command.commandTimeout = 999;

A la prochaine question,merci
0