|
Интересная фича при работе с MySql через ODBC
| ☑ |
0
lanc2233
31.08.11
✎
22:04
|
Убил кучу времени, пытаясь понять почему через раз нормально выполняется запрос к MySQL а через раз вываливается с неопределенной ошибкой. Может кому пригодится :
На сервере, или у драйвера (не знаю точно) может стоять время, которое держится подключение. И если подключаемся к нему а потом делаем какую-то жутко долгую выборку в 1с не выполняя запросы MySQL, то подключение может оборваться - и при попытке выполнить запрос сервер будет возвращать неизвестную ошибку.
|
|
1
Nexux
31.08.11
✎
22:37
|
в строке подключения это время нельзя задать?
|
|
2
Александр_
Тверь
31.08.11
✎
22:53
|
(0) а я обычно подключаюсь к MySQL по мере необходимости.
т.е. не держу открытым соединение, а по мере накопления данных (или при необходимости получить данные) просто открываю соединение на каждый запрос. Такой порядок работы неплохо себя зарекомендовал (время на открытие соединения относительно мало).
Правда косяк, когда в MySQL передаешь большой insert (информацию о более чем 1000 строк в которых по 10-15 полей) то переодически драйвер охреневает и данные не передаются :( приходится данные передавать порциями.
|
|
3
kokamoonga
01.09.11
✎
05:27
|
(0) а в чем собственно фича? вообще нормальный порядок: открыл соединение -> выполнил запрос -> закрыл соединение. Зачем его держать открытым-то?
|
|
4
Asmody
01.09.11
✎
06:55
|
connection_timeout в настройках сервера смотри
|
|
5
skunk
01.09.11
✎
06:57
|
(3)любимая фича одинэсников ... циклить запросы
|
|
6
kokamoonga
01.09.11
✎
07:36
|
(5) кто тебе сказал что я одинэсник?
"никаких циклов в запросе" это мантра такая?
а когда ты делаешь
Для бла-бла-бла Цикл
ЗаписатьЧтоТо
КонецЦикла
ты думаешь что ты выполняешь? не запрос ли UPDATE или INSERT к скульной базе 1с зашитый в платформу?
|
|