Timeout expired à la lecture d'une table

bender86 Messages postés 72 Statut Membre -  
bender86 Messages postés 72 Statut Membre -
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 72 Statut Membre
 
Bonjour,
J'ai réglé le problème en mettant command.commandTimeout = 999;

A la prochaine question,merci
0