Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: Базы данных, ADO.NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
fedwq
2 / 2 / 0
Регистрация: 24.06.2012
Сообщений: 56
1

Многопоточность MySQL

20.07.2012, 17:22. Просмотров 1198. Ответов 6
Метки нет (Все метки)

Дано: Сервер на C#, рассчитанный на множество клиентов использует MySQL connector(или как-то так) для соединения с MySQL, для извлечения данных использую MysqlDataAdapter.Fill();
Вдруг боги послали мне исключение: "There is already an open DataReader associated with this Connection which must be closed first".
Я так понял, что в случае с одним клиентом все мб и ок, но в случае с >=2 клиентами может произойти исключение.
Вопрос: Есть ли альтернатива для многопоточного извлечения данных из базы? Или использовать для каждого пользователя свое MySQL-соединение? (в своем случае я использую одно на всех, лол), приложение не лопнет? Или же многопоточность MySQL - это ложь и провокация?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.07.2012, 17:22
Ответы с готовыми решениями:

Как данными с одного сервера MySql заполнить таблицу на другом MySql-сервере?
Господа форумчане, здравствуйте! Помогите разобраться - как данными с одного...

MySQL не могу достать join хотя он работает в Mysql
добрый день есть запрос join из нескольких строк. Копирую его вставляю в...

Многопоточность
Подскажите очень срочно нужно - сделать многопоточное приложение, в котором...

Многопоточность
Собсно захотел,что бы пакет отправлялся с разных прокси в разных потоках....

Многопоточность
В программе создается поток по обработке данных, его работа занимает приличное...

6
canopen
420 / 421 / 93
Регистрация: 16.07.2012
Сообщений: 886
20.07.2012, 18:37 2
Это ошибка означает лишь то, что в одном экземпляре программы на одном соединении с сервером может одновременно выполняться только один SQL-запрос. Если же вы запустите скажем два экземпляра этой программы, то каждый экземпляр создаст свое соединение с базой данных и поэтому запросы и той, и той программы, смогут выполняться одновременно.
0
fedwq
2 / 2 / 0
Регистрация: 24.06.2012
Сообщений: 56
20.07.2012, 19:16  [ТС] 3
Мне желательно чтобы одно приложение могло делать одновременные запросы
0
canopen
420 / 421 / 93
Регистрация: 16.07.2012
Сообщений: 886
20.07.2012, 19:18 4
Тогда конечно без нескольких одновременных соединений не обойтись.
А если не секрет - как у вас несколько пользователей одновременно одной программой пользуются? )
А, я увидел наконец-то слова про то, что вы сервер делаете )))
Ну тогда тем более - почему вас смущает необходимость для каждого клиента свое соединение заводить? Для сервера это в порядке вещей.
0
fedwq
2 / 2 / 0
Регистрация: 24.06.2012
Сообщений: 56
20.07.2012, 19:27  [ТС] 5
просто погрешил порыться в интернетах и краем глаза заметил статью про то, что, мол, бд может иметь максимум 100 соединений и вообще много соединений - это плохо. А плохо ли это? Или это действительно обыденная практика?
0
canopen
420 / 421 / 93
Регистрация: 16.07.2012
Сообщений: 886
20.07.2012, 19:39 6
Может быть, это на одного пользователя максимальное количество соединений?
А вообще вы конечно можете выбрать другую архитектуру. Скажем вместо того чтобы на каждого клиента заводить свой поток со своим соединением к базе данных, можно все запросы помещать в очередь и обрабатывать их поочередно в порядке поступления. Так, если не ошибаюсь, работает модный сейчас nginx и Node.js.

Добавлено через 3 минуты
См. например википедию:
http://ru.wikipedia.org/wiki/%D0%A1%...BD%D0%B8%D0%B5
0
fedwq
2 / 2 / 0
Регистрация: 24.06.2012
Сообщений: 56
20.07.2012, 19:40  [ТС] 7
Благодарю за ответ, попробую поэкспериментировать
0
20.07.2012, 19:40
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.07.2012, 19:40

Многопоточность
Как сделать много поточность? т.е. 1 поток отвечает за отправку запроса на...

многопоточность
Привет подскажите возможно ли отслеживать проникновение посторонних программ...

Многопоточность
Есть массив, заполненный случайными числами, на 500 элементов.Есть textBox1 и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru