Форум программистов, компьютерный форум, киберфорум
C#: Базы данных, ADO.NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.57/21: Рейтинг темы: голосов - 21, средняя оценка - 4.57
121 / 119 / 47
Регистрация: 14.09.2012
Сообщений: 276
1
.NET 4.x

Доступ к БД с разных потоков

23.11.2013, 17:31. Показов 3968. Ответов 8

как реализовать доступ к одной базе данных с разных потоков? когда один сервер обрабатывает несколько клиентов то у меня выходит AccessViolationException Message=Попытка чтения или записи в защищенную память. Это часто свидетельствует о том, что другая память повреждена
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.11.2013, 17:31
Ответы с готовыми решениями:

Доступ к стриму из разных потоков
Задача такая, имеем мемористрим, в одном потоке постоянно пишем его. В другом потоке необходимо по...

Обезопасить доступ к коллекции из разных потоков
станет ли безопасным метод AddSafe? public static MyCollection myCol = new MyCollection(); ...

Доступ к очереди из разных потоков
Подскажите по многопоточности, у меня есть очередь (Queue) и мне надо организовать к ней доступ из...

Доступ к функции с разных потоков C++ Builder
Как правильно объявить/создать функцию в C++Builder, чтобы она была доступна со всех потоков,...

8
324 / 307 / 59
Регистрация: 06.03.2013
Сообщений: 869
23.11.2013, 17:31 2
Многопоточный доступ к базе данных sql server
оно?
0
121 / 119 / 47
Регистрация: 14.09.2012
Сообщений: 276
23.11.2013, 18:45  [ТС] 3
lpvoid, нет, у меня реализован сервер и он отправляет данные клиенту с бд, но когда несколько клиентов соединяются с сервером то у них получается одновременное обращение к одной бд из за этого вылетает exception. использую Entity Framework 6 для соединения с бд

Добавлено через 1 час 5 минут
решил. я оказывается использовал один экземпляр DbContext для всех запросов из за этого выходила ошибка
0
623 / 492 / 43
Регистрация: 05.07.2010
Сообщений: 1,589
23.11.2013, 19:34 4
Надо либо делать для каждого потока своё соединение, либо lock для защиты от одновременного использования одного соединения разными потоками.

И использовать громоздкие тормознутые негибкие всемогущие ентити только ради соединения с БД это как-то ..
1
121 / 119 / 47
Регистрация: 14.09.2012
Сообщений: 276
23.11.2013, 20:40  [ТС] 5
ksk, я сделал для каждого потока свое соединение
0
156 / 185 / 48
Регистрация: 25.11.2013
Сообщений: 978
26.11.2013, 12:14 6
Неправильно, используй IAsyncCallback
0
623 / 492 / 43
Регистрация: 05.07.2010
Сообщений: 1,589
26.11.2013, 13:02 7
Цитата Сообщение от DataPlanner Посмотреть сообщение
Неправильно, используй IAsyncCallback
И от чего это поможет?
0
156 / 185 / 48
Регистрация: 25.11.2013
Сообщений: 978
26.11.2013, 13:11 8
Это поможет правильно распределить выполнение запросов к БД в асинхронном режиме и не использовать lock
0
623 / 492 / 43
Регистрация: 05.07.2010
Сообщений: 1,589
26.11.2013, 14:58 9
Это спасёт от крушения одновременно открываемого из разных потоков датаридера?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.11.2013, 14:58

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Обеспечить корректный доступ к элементу из разных потоков
Возникла такая проблема. Есть приложение и в приложение есть элемент, к которому прикреплён некий...

Доступ к файлам из разных потоков, как исключить коллизии?
Разные потоки осуществляют чтение разных файлов произвольным образом командой...

Обращение к массиву из разных потоков
Работа с потоками - материал объемный и я его осваиваю частями и по мере необходимости. Делегатами...

Переменные для разных потоков
Допустим через событие button_click вызываю код var thread1 = new Thread(() => { ...


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

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

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