Topic: Локальная сеть

Всем привет.
есть необходимость в работе с будущей программой нескольких юзеров одновременно с разных ПК, находящихся в одной лок. сети.
при этом будет реализован следующий алгоритм:
1. каждый в начале логинится и в дальнейшем все его записи имеют ДОП. Поле с его логином,
2. При логине название сохраняется в переменной и в дальнейшем автоматом подставляется в новые записи, участвует в фильтрации и т.п.
3. Все пользователи работают с одними и теми же таблицами, гридами и формами.

вопрос: получится ли одновременная работа нескольких пользователей?

Re: Локальная сеть

Получится )

Dmitry.

Re: Локальная сеть

хорошо

Re: Локальная сеть

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

Re: Локальная сеть

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

Dmitry.

Re: Локальная сеть

DriveSoft wrote:

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

а что если несколько пользователей будут редактировать одну и ту же запись?

Re: Локальная сеть

DenNik
В таком случае сохранятся изменения сделанные последним пользователем.

Dmitry.

Re: Локальная сеть

DriveSoft wrote:

В таком случае сохранятся изменения сделанные последним пользователем.

согласись, что это непрофессионально.
очень даже непрофессионально. даже если два пользователя сидят в одной комнате, не будут же они переговариваться между собой:
- эй, ты какую запись открыл?
- 15ю
- не-не-не, закрой! я ее редактирую!
smile

а если по инету? по скайпу переговариваться? smile

придется делать костыль с дополнительным полем, отвечающим за "блокировку" данной записи

Re: Локальная сеть

Специально тестировал, на двух компах создавал запись почти одновременно, в счётчике стояла одинаковая цифра (к примеру 150) вводил разные данные, кто первый сохранил у того оставался номер 150, кто следующий сохранял, номер менялся на 151 и т.д. При этом данные не менялись и информация не теряется. Только номер менялся!

Re: Локальная сеть

jazzitcool wrote:

Специально тестировал, на двух компах создавал запись почти одновременно, в счётчике стояла одинаковая цифра (к примеру 150) вводил разные данные, кто первый сохранил у того оставался номер 150, кто следующий сохранял, номер менялся на 151 и т.д. При этом данные не менялись и информация не теряется. Только номер менялся!

jazzitcool ты СОЗДАВАЛ новую запись. в этом случае все правильно получилось. записи создались по очереди. а если два пользователя будут редактировать существующую запись, тогда ерунда получится. данные того кто первый закончил редактирование, будут перезаписаны последним пользователем

Re: Локальная сеть

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

Re: Локальная сеть

при попытке начать редактирование записи если она уже кем то редактируется, мне выдаёт окно "database is locked" тоже это проверял. Даже если пользователь 1 отредактировал, закрыл, а у меня ещё открытая, всё равно сохранить не смогу пока не закрою её без сохранения и не открою снова.

Re: Локальная сеть

если все еще непонятно, поясню. допустим, есть запись с текстом Hello, World!
два пользователя открывают ее в режиме редактирования и видят перед собой естественно Hello, World!
первый изменяет ее на Ok, World! и сохраняет. второй, думая, что содержимое записи все еще Hello, World!, тоже изменяет ее на
Good Bye, World!.
а правильно, чтобы второй пользователь, открыв запись в режиме редактирования, увидел уже Ok, World!

Re: Локальная сеть

jazzitcool wrote:

при попытке начать редактирование записи если она уже кем то редактируется, мне выдаёт окно "database is locked" тоже это проверял. Даже если пользователь 1 отредактировал, закрыл, а у меня ещё открытая, всё равно сохранить не смогу пока не закрою её без сохранения и не открою снова.

добавлю  что пользуюсь пока версией 1.45 (бесплатной)

Re: Локальная сеть

jazzitcool wrote:

при попытке начать редактирование записи если она уже кем то редактируется, мне выдаёт окно "database is locked" тоже это проверял. Даже если пользователь 1 отредактировал, закрыл, а у меня ещё открытая, всё равно сохранить не смогу пока не закрою её без сохранения и не открою снова.

а, ну так правильно (поздно прочитал твой пост) smile

16 (edited by jazzitcool 2015-01-22 19:54:29)

Re: Локальная сеть

DenNik wrote:

если все еще непонятно, поясню. допустим, есть запись с текстом Hello, World!
два пользователя открывают ее в режиме редактирования и видят перед собой естественно Hello, World!
первый изменяет ее на Ok, World! и сохраняет. второй, думая, что содержимое записи все еще Hello, World!, тоже изменяет ее на
Good Bye, World!.
а правильно, чтобы второй пользователь, открыв запись в режиме редактирования, увидел уже Ok, World!

обновления записи на лету нет, но от перезаписи уже застрахованы

Re: Локальная сеть

jazzitcool wrote:

при попытке начать редактирование записи если она уже кем то редактируется, мне выдаёт окно "database is locked"

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

Re: Локальная сеть

DenNik wrote:

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

Программа к сожалению пока не без недостатков )

Dmitry.

Re: Локальная сеть

DenNik wrote:

[
я так понимаю, это автоматическое окно, созданное при компиляции проекта. а можно отключить его, самостоятельно определить, что запись заблокирована, чтобы в связи с этим предпринять какие-либо действия?

Данное сообщение появлялось скорей всего из за ошибки, которая была исправлена в последних версиях. Запись при редактировании не блокируется.

Dmitry.

Re: Локальная сеть

DriveSoft wrote:

Запись при редактировании не блокируется.

не блокируется для второго пользователя, открывшего эту запись?!

Re: Локальная сеть

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

Dmitry.

Re: Локальная сеть

можно пример для версии 1,45?

Re: Локальная сеть

DenNik wrote:

можно пример для версии 1,45?

К сожалению готового примера нету, нужно подумать над механизмом, как лучше это реализовать, чтобы допустим при аварийном закрытии приложения (например через Ctrl+Alt+Del) данная блокировка не осталась висеть.

Dmitry.

Re: Локальная сеть

DenNik wrote:
DriveSoft wrote:

В таком случае сохранятся изменения сделанные последним пользователем.

согласись, что это непрофессионально.
очень даже непрофессионально. даже если два пользователя сидят в одной комнате, не будут же они переговариваться между собой:
- эй, ты какую запись открыл?
- 15ю
- не-не-не, закрой! я ее редактирую!
smile

а если по инету? по скайпу переговариваться? smile

придется делать костыль с дополнительным полем, отвечающим за "блокировку" данной записи

vi pravi. no   mojna zdelac podruqomu.   dac administratorskiy prava adnamu shtob toka on moq redaktirovac. a druqim polzivatelyam toka smotrec . shtob kajdiy rabotnik ne sozdaval  adno i tojoye