powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / MySQL + C# (via .NET connector)
1 сообщений из 1, страница 1 из 1
MySQL + C# (via .NET connector)
    #38951575
beatstream
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.

Разрабатываю приложение на c# для работы с данными. Изначально все работало в xml, но с увеличением объема данных производительности стало не хватать. Т.к. из всех БД более-менее знаком только с MySQL (общался через php), а в планах было прикрутить к БД интернет-магазин, решил с нее и начать.

Недолго думая, привязал к проекту официальный .NET Connector, и началось. Сначала общался с базой прямыми sql-запросами, но потом понял, что здесь так не делается =)
Методом проб и ошибок остановился на таком способе работы (упрощенно):

1) создаются экземпляры DataAdapter (da), CommandBuilder (cb) и DataTable (dt).
2) инициализируется подключение к бд, в dt загружаются таблицы из БД - через da.Fill(dt).
3) работа с данными: создание/изменение строк в dt.
4) запись данных в БД - через da.Update(dt).
5) при завершении работы приложения подключение закрывается.

Собственно, проблема - при изменении любой строки в dt запись в БД проходит нормально, а если ту же строку изменить повторно и попытаться записать изменения, вылетает dbConcurrencyException. После этого приложение зачастую сходит с ума и мешает все данные в кашу, помогает только перезапуск. При этом данные на сервере остаются в порядке. И нет, с БД одновременно работает только один пользователь, то есть данные от записи до записи не меняются, а значит, эксепшена быть не должно.

А теперь самое интересное - эксепшн ловится при работе в сервером MySQL на локалхосте (v5.6.0). Если работать с удаленным сервером на хостинге (v5.5.42), все работает, как часы.

Временно решил проблему костылем: cb.ConflictOption = ConflictOption.OverwriteChanges
Но костыли это плохо, и вообще я не уверен, насколько стабильно все будет работать.

Мне уже снятся кошмары, что я датаадаптер, который не может договориться с сервером.
Помогите разобраться.
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / MySQL + C# (via .NET connector)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]