Почему моя сеть падает? - PullRequest
0 голосов
/ 10 августа 2011

В нашем колледже мы проводим конкурс в форме вопросов с множественным выбором. Для этого мы используем VB в качестве внешнего интерфейса, MS Access в качестве внутреннего.

Ref: Topology we have used.

Приложение VB 6 работает без проблем, и запись участника добавляется в базу данных вместе с их оценками, когда 1 или 2 клиента одновременно получают доступ к базе данных.

Проблема: Но когда более 2 клиентов одновременно получают доступ к базе данных, приложение вылетает.

1. В некоторых клиентах мы получаем ошибку времени выполнения, печатающую большое отрицательное значение с
сообщение «Операционный запрос не может изменить базу данных».

2. В некоторых клиентах VB 6.0 аварийно завершает работу и закрывается.

Эти ошибки возникают, когда мы пытаемся получить доступ к базе данных, используя ОК, кнопки ОТПРАВИТЬ.

Не могли бы вы сказать мне, почему возникает эта ошибка и как я могу ее исправить.

Мои вопросы ..

1.Причиной проблемы является передача бремени всех клиентов одному ноутбуку? Если есть какая-то другая проблема, пожалуйста, объясните.

2.Почему я получаю сообщение об ошибке «Запрос операции не может изменить базу данных». Если это так, то как он работает, когда 1 или 2 клиента получают доступ к базе данных одновременно.

Ответы [ 2 ]

2 голосов
/ 10 августа 2011

Базы данных доступа (и другие базы данных напрямую на основе файлов) на самом деле не созданы для множественного доступа.Существуют некоторые средства, помогающие ему работать, но, по моему опыту, это довольно ненадежно.

Вам нужен работающий сервер базы данных, который позволяет нескольким клиентам одновременно работать в одной базе данных.Свободный вариант - MySQL .Существует также бесплатная версия Microsoft SQL Server .

1 голос
/ 10 августа 2011

«Операция запроса не может изменить базу данных»

Плохо спроектированные базы данных Access могут иметь проблемы с пользователями, пытающимися изменить записи, если у них нет определенных первичных ключей. Это особенно верно, когда несколько человек получают доступ, потому что буквально не может сказать, какую запись изменить, если два человека пытаются сделать то же самое. Иногда это позволит вам вставить, но не обновить.

Кроме того, если вы ищете производительность, Access - просто неправильный инструмент. У него очень мало способов настройки производительности или возможностей. SQl Server Express или mySQl будут иметь больше возможностей для диагностики и устранения проблем с производительностью.

...