Глупый вопрос по БД :)

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
IljaO
Начинающий
Начинающий
 
Сообщения: 20
Зарегистрирован: 04.07.2004 (Вс) 13:22

Глупый вопрос по БД :)

Сообщение IljaO » 28.11.2004 (Вс) 15:23

Здравствуйте!
Есть на сервере БД. Есть, например, 10 компов в сети, с которых пользователи посылают в БД (на сервер) данные. Нужно сделать так, чтобы ВСЕ записи пользователей корректно добавлялись в БД. Чтобы не выскакивала ошибка про совместный доступ при одновременном обращении.
Спасибо

Dzhon
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 236
Зарегистрирован: 09.12.2003 (Вт) 13:30
Откуда: Россия, Омск

Re: Глупый вопрос по БД :)

Сообщение Dzhon » 28.11.2004 (Вс) 16:21

IljaO писал(а):Здравствуйте!
Есть на сервере БД. Есть, например, 10 компов в сети, с которых пользователи посылают в БД (на сервер) данные. Нужно сделать так, чтобы ВСЕ записи пользователей корректно добавлялись в БД. Чтобы не выскакивала ошибка про совместный доступ при одновременном обращении.
Спасибо

Чтобы так сделать, нужно изучить типы блокировок и применять их (блокировки) в зависимости от ситуации. :wink:
А на более точный вопрос - будет более точный ответ. :wink:
Вот для начала:
http://www.loe.lg.ua/help/NEW/SQL/CHM0/G2309.HTM

IljaO
Начинающий
Начинающий
 
Сообщения: 20
Зарегистрирован: 04.07.2004 (Вс) 13:22

Сообщение IljaO » 28.11.2004 (Вс) 18:36

Вообщем, у меня следующая задача.

Есть сервер. На жестком диске лежит DAO база данных. В ней содержатся результаты тестирования (фио, баллы, время). К серверу подключены компьютеры учасников. На них проводится тестирование, по окончанию которого на каждом компьютере остаются результаты (формат - как на сервере). Эти результаты автоматически нужно дописывать в БД сервера.

Главная проблема: если два и более компьютеров одновременно пытаются добавить запись, возникает ошибка.

Задача ясна? Помогите, пожалуйста, решить.

Ennor
Конструктивный критик
Конструктивный критик
 
Сообщения: 2504
Зарегистрирован: 18.12.2001 (Вт) 3:58
Откуда: Калуга -> Москва

Сообщение Ennor » 28.11.2004 (Вс) 21:09

Да ясна, конечно, что ж тут непонятного - совместный доступ это известная трабла...

База аксессовская? Не уверен, что в нем есть механизмы репликации. Если же вдруг есть, то копай в их сторону.
Если же нет, то рекомендую сделать так: делаешь один инсерт и смотришь, не вылетела ли ошибка. Если да, то ждешь некое рандомное время и пытаешься повторить действие по его истечении. И так - ну, раза 3 как минимум. Конкретное время определяй в зависимости от времени, которое занимает перенос результатов одного тестирования (в среднем). В первом приближении, я бы взял половину такого времени.

Похожий механизм используется в сетевых средах с общей шиной для обхода коллизий пакетов. Попробуй, вдруг тебя это устроит :) ...

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 29.11.2004 (Пн) 9:32

Ну насоветуют...

Репликация тут даром не нужна. Все блокировки надо оставить по умолчанию - не надо блокировать запись самостоятельно! И только.
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

Ennor
Конструктивный критик
Конструктивный критик
 
Сообщения: 2504
Зарегистрирован: 18.12.2001 (Вт) 3:58
Откуда: Калуга -> Москва

Сообщение Ennor » 29.11.2004 (Пн) 17:32

2 Andrey Fedorov: Я просто точно не знаю, как именно работают механизмы блокировок в Аксессе. По сиквелу, уж будь спок, я бы насоветовал получше...

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 29.11.2004 (Пн) 17:35

По сиквелу, уж будь спок, я бы насоветовал получше...


Да и там аналогично.
Ставить оптимистическую блокировку и работать спокойно.
По крайней мере для 99% случаев так оптимально.
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

Dzhon
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 236
Зарегистрирован: 09.12.2003 (Вт) 13:30
Откуда: Россия, Омск

Сообщение Dzhon » 29.11.2004 (Пн) 19:24

Вопросов нет! В 99.9% случаях помогает, но судя из вопроса у парня проблемы...

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 30.11.2004 (Вт) 8:19

В 99.9% случаях помогает, но судя из вопроса у парня проблемы...


Дык кто-ж знает что он там делает!

P.S.
Вообще-же, ответ сильно зависит от постановки вопроса. Если спрашивающий считает что остальные телепаты, то ему и будут гадать на кофейной гуще...
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 30.11.2004 (Вт) 10:54

Andrey Fedorov, либо будут игнорировать :)
Lasciate ogni speranza, voi ch'entrate.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot и гости: 0

    TopList