Имя: Пароль:
IT
 
Интересная фича при работе с 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с зашитый в платформу?