открывается соединение с базой.
Создается транзакция и в рамках этой транзакции из базы забираются данные и упаковываются в архив.
соединение все время открыто.
на одном пк ситуация следующая. когда упаковка занимает около 80-90 минут, то следующий цикл завершается с ошибкой:
Exception: Connection must be valid and open to rollback transaction
Member Name: Void Rollback()
Class Defining Member: MySql.Data.MySqlClient.MySqlTransaction
Нашел похожую проблему https://python-forum.io/thread-35110.html
На рабочем пк воспроизвести не удалось.
подозреваю что это настройки сокета или tcp на уровне windows.
т.е. соединение не разорвано, но в нерабочем состоянии.
Может кто сталкивался или есть идеи?
Здравствуйте, vaa, Вы писали: vaa>Может кто сталкивался или есть идеи?
Я бы начал с исключения проблем на физическом уровне сети. То есть подключил бы системный блок заведомо рабочим шнурком в заведомо рабочую сетевую розетку и посмотрел бы что из этого получится. Просто потому что ленивый и уже сталкивался с необъяснимыми на первый взгляд глюками софта.
Всё, что нас не убивает, ещё горько об этом пожалеет.
Re[2]: MySql.Data: Connection must be valid and open
Здравствуйте, Ромашка, Вы писали:
Р>Здравствуйте, vaa, Вы писали: vaa>>Может кто сталкивался или есть идеи?
Р>Я бы начал с исключения проблем на физическом уровне сети. То есть подключил бы системный блок заведомо рабочим шнурком в заведомо рабочую сетевую розетку и посмотрел бы что из этого получится. Просто потому что ленивый и уже сталкивался с необъяснимыми на первый взгляд глюками софта.
сложно сказать, в логе:
localhost(порт 3306)
до какой-то версии виндос вроде бы для работы tcp или сокетов требовалось наличие сетевой карты в системы. причем даже в состоянии up.
но это было давно, наверно еще до xp. боюсь соврать. баг фиксируется на 10ке. FW .net v4
Возможно сетевая карта уходит в режим экономии электропитания .
Я один раз налетел на подобные грабли . Вылечилось обновлением драйвера карты + отключением экономии электропитания в настройках карты .
... Хорошо уметь читать между строк. Это иногда
приносит большую пользу
Здравствуйте, Kolesiki, Вы писали:
K> Очевидное решение — засасывать все данные локально, дисконнектиться и архивировать уже полный блоб.
ну там, база такая что одна таблица > 50Gb. Не у каждого клиента есть такое кол-во свободного пространства. т.е. место под дамп и еще место под архив.
а так да, в ПО реализованы обе возможности дампа: всей базы/по таблично.