2012-01-25 5 views
1

У меня есть .net C# приложение, которое использует .net-коннектор для mysql для подключения и обновления данных на удаленном сервере. Иногда я замечаю, что есть запрос на уничтожение, который отменяет некоторые из запросов. Итак, как я могу преодолеть эту проблему? Я проверил, что я ни в каком месте не делаю kill в своем коде.Что вызывает запрос на убийство в mysql

Ниже приведен пример файла журнала:

100717 15:26:03 979 Connect [email protected] on mpcms6 
      979 Query SET autocommit=0 
      979 Query SHOW VARIABLES 
      979 Query SHOW COLLATION 
      979 Query SET character_set_results=NULL 
      979 Init DB mpcms6 
      979 Query SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ 
      979 Query BEGIN 
      979 Query Update tblID Set tblID.lastValue = lastValue + 1 Where tblID.tableName='tblReceipt' 
100717 15:26:33 980 Connect [email protected] on mpcms6 
      980 Query SET autocommit=0 
      980 Query SHOW VARIABLES 
      980 Query SHOW COLLATION 
100717 15:26:34 980 Query SET character_set_results=NULL 
      980 Init DB mpcms6 
      980 Query KILL QUERY 979 
      980 Quit 
100717 15:26:54 979 Query Insert into tblReceipt Set receiptID=2607, outletID=6, employeeID=86, customerName='Cash', customerPhone='', totalCostAmount=6.5, totalSellingAmount=40, totalProfitAmount=33.5, changeAmount=0, profit='y', receiptDate = '2010:07:17', receiptTime = '15:26:04' 
      979 Query Update tblID Set tblID.lastValue = lastValue + 1 Where tblID.tableName='tblReceiptDetails' 
100717 15:27:24 981 Connect [email protected] on mpcms6 
      981 Query SET autocommit=0 
      981 Query SHOW VARIABLES 
      981 Query SHOW COLLATION 
      981 Query SET character_set_results=NULL 
      981 Init DB mpcms6 
      981 Query KILL QUERY 979 

ответ

3

Похоже, тайм-аут. Оба убийства были ~ 30 секунд после начала запроса. Позволяет ли ваш коннектор настраивать таймаут запроса?

[Edit; отвечая на комментарии]

Я считаю, что вы хотите SqlCommand.CommandTimeout, это значение по умолчанию - 30 секунд. См. MSDN documentation here.

+0

я использую .net коннектор из mysql сам. Как тайм-аут происходит от того, где на самом деле? Является ли поведение соединителя mysql или .net? – user837306

+0

Я обновил свой ответ с дополнительной информацией. Удачи! – AlG

+0

@AIG да, я прочитал, так какой лучший тайм-аут нужно установить, чтобы сохранить запрос успешно? – user837306

2

Поскольку Update вы выполняете, как представляется, быть простым (не ударяя много строк)

Я подозреваю, что есть замок на столе tblID и клиент, следовательно, работает в тайм-аут.

+0

, что может быть возможной проблемой, но не так много обновлений происходит на tblID, так что лучший механизм, чтобы этого избежать? – user837306

Смежные вопросы