65.9K
CodeProject is changing. Read more.
Home

How to fix Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.75/5 (8 votes)

Aug 2, 2013

CPOL
viewsIcon

71759

Insert Ignore with select thousands of rows threw timeout expired exception

Using MySQL .NET /Connector with a thousands of rows to do an INSERT IGNORE command results in timeout expired exception. Normally we focus in connection time out or command timeout etc.

But in this case, the problem is with  net_read_timeout, because the command needs to read thousands of rows before to do the task.

The best way to fix it, is to increase the net_read_timeout (by default is only 30 seconds see mysql website) so, you allow the command sufficient seconds to read. If not, the connection will close, because net_read taked more time than the timeout setted.

So you need to type this in any MySQL Console or any User Interface like MySQL Workbench, you need to have administration permissions to change global variables: 

SET GLOBAL   net_read_timeout = 100;