Reply to this topicStart new topicStart Poll

> 3. Клиент-сервер. Отправка данных на сервер., Передача данных пользователя на сервер.
Sergey_758
Отправлено: Май 9 2016, 18:51
Quote Post


Активный пользователь
***

Группа: Пользователи
Сообщений: 376
Пользователь №: 2
Регистрация: 1-Марта 14
Статус: Offline

Репутация: 4




Мы с Вами подошли к самой главной части. Это как раз тот момент, ради которого все и затевалось. То, что мы проделали до этого, было, всего на всего, подготовкой. А сейчас я хочу рассказать, как с помощью программы можно передавать данные из локальной базы данных непосредственно на сервер. И это как раз то, что придется делать всем пользователям после внесения каких либо изменений в БД программы.

Как обычно, эта статья подразумевает то, что Вы успешно проделали все действия описанные в первых двух статьях. Т.е. настроили серверную часть приложения и зарегистрировали или создали пользователя. В настройках программы мы FWS указали адрес сервера и порт подключения, создали пользователя в базе данных сервера, сервер у нас уже запущен, и мы выполним подключение программы к серверу.

Для этого, заходим в программу FWS и выполняем подключение к серверу. (подразумевается, что в программе уже есть записи о источниках ВППВ). Что бы это сделать, Вам необходимо воспользоваться пунктом меню «Сеть», перейти к подпункту «Подключение к серверу» и нажать на подпункт «Подключиться к серверу» или же воспользоваться соответствующей иконкой на рабочей панели или нажать сочетание клавиш Alt+Backspace. Вы это уже проделывали, когда подавали заявку на регистрацию пользователя.

В появившемся окне:
1. В поле «Имя пользователя» мы указываем логин нашего пользователя. В предыдущей статье мы создали учетную запись пользователя «User». По этому, заходим под этой учетной записью.
2. В поле «Пароль» указываем наш пароль, он соответствует нику пользователя.
3. Проверяем, правильно ли мы указали пароль.
4. Жмем «ОК», после чего открывается окно с пользовательской консолью, и мы видим, что происходит процесс подключения к серверу.

user posted image

Небольшой обзор кнопок расположенных на пользовательской консоли:
1. «Отправить свои данные на сервер» - начинает процесс передачи данных из локальной базы данных пользователя в общую базу данных сервера.
2. «Загрузить в программу свои данные, которые хранятся на сервере» - начинает обратный процесс. Загружает в локальную базу данных данные из базы данных сервера, данные которые принадлежат пользователю.
3. «Администрирование» - запускает админконсоль.

Сразу оговорюсь, скриншоты которые вы видите, были сделаны с программы версии 4.0.0.0. Но Вы, скорее всего, увидите версию 4.0.0.2 или выше. В этих версиях в форму «Работа с сервером», для более удобной и комфортной работы, было добавлено еще две кнопки «Подключиться к серверу» и «Разорвать соединение с сервером». Они, соответственно, полностью дублируют команды аналогичных пунктов меню главной формы.

Еще хотелось бы рассказать о том, что происходит в момент подключения к серверу:
a. «Connecting ...» - выполняется соединение с сервером.
b. «Authenticate user "Имя пользователя"...» - программа проверяет существует ли такой пользователь на этом сервере.
c. «Verification of user privileges ...» - программа проверяет какими правами и привилегиями на этом сервере обладает эта учетная запись пользователя.
d. «Status: "Статус пользователя на данном сервере"» - выводится результат проверки
e. «Loading ...» - процесс пере подключения программы на базу данных сервера и загрузка данных уже из его базы данных.
Как я уже писал ранее, после окончания выполнения, какого либо действия, программа подтверждает его выполнение и выводит в пользовательскую консоль «ОК» или же, если возникла ошибка при его выполнении в консоль выводиться возникшая ошибка. Исключение составляет определение статута пользователя на сервере. Вместо «ОК» в консоль выводиться текущий статус пользователя.

Как Вы видите, данные в таблицах главной формы изменились, а некоторые кнопки на ней перестали быть доступными. Если вы еще не загружали в базу данных сервера никаких данных, то таблицы станут пустыми.

user posted image

Здесь нужно остановиться на том, что очень часто во время передачи данных может возникать такая ошибка, как Вы видите на скриншоте ниже. Означает она, что сервер перестал отвечать на запросы. А, вот, причин, которые это вызвали, может быть очень много. Самая распространенная – это отсутствие длительного времени (точно сказать не могу, зависит от настроек сервера) запросов со стороны клиента. Лекарство от этого очень простое – нужно переконектится, т.е. пере подключится к серверу снова.

user posted image
PMEmail PosterICQ
Top
Sergey_758
Отправлено: Май 9 2016, 20:00
Quote Post


Активный пользователь
***

Группа: Пользователи
Сообщений: 376
Пользователь №: 2
Регистрация: 1-Марта 14
Статус: Offline

Репутация: 4




1. Давайте отправим свои данные на сервер. Для этого нужно нажать кнопку «Отправить свои данные на сервер».

user posted image

a. «Load your data on the server ...»- начался процесс передачи данных на сервер. Этот процесс длительный и может занять какое-то время. Все зависит от производительности вашего ПК, производительности сервера и скорости обмена данными в сети. Не применяйте никаких действий до окончания этого процесса.
b. «ОК» - программа подтверждает, что процесс передачи данных выполнен успешно.

user posted image

На данном этапе, мы можем закрыть пользовательскую консоль и вернуться к главной форме программы, для того, что бы увидеть, что же у нас происходит. Программа подключена к базе данных сервера и все данные о источниках ВППВ от туда загружены в программу. Конечно, если на сервер загружены данные только одного пользователя, то особо разницы не видно между локальной базой данных и базой данных сервера. Но вот если несколько пользователей загрузят свои данные на сервер, то про выполнении подключения к серверу, Вы сможете видеть и их данные тоже. К примеру, Вы сможете видеть все источники ВППВ отмеченные на карте, если воспользуетесь приложением «Планшет». Или импортировать данные всех пользователей в файлы формата *.GPX или *.KML, что бы, в дальнейшем перенести их в планшет, смартфон или навигатор. Это очень будет удобно и, наверняка, Вам очень поможет при выезде в соседний район выезда. Так же вы можете составить отчет виде «Акт» или «Список» из всех записей о источниках ВППВ хранящихся на сервере. Помимо этого, так же доступна статистика и некоторые другие функции программы не связанные с редактированием, добавлением и удалением данных в базе данных.

После того как Вы выполнили те задачи которые Вам были необходимы, для дальнейшей работы с программой, нужно выполнить отсоединение от сервера и переключится на локальную базу данных программы. Что бы это сделать, Вам необходимо воспользоваться пунктом меню «Сеть», перейти к подпункту «Подключение к серверу» и нажать на подпункт «разорвать соединение» или же воспользоваться соответствующей иконкой на рабочей панели или нажать сочетание клавиш Ctrl+Del.

a. «Disconnect ...»- начался процесс переключения программы на локальную базу данных. Этот процесс также может занять какое-то время. Все зависит от производительности вашего ПК. Не применяйте никаких действий до окончания этого процесса.
b. «ОК» - программа подтверждает, что процесс завершен успешно успешно.

user posted image


А мы тем временем снова переходим к админконсоли, где я хочу сделать небольшой обзор тех ее функций, которые связаны с работой с данными пользователей. Для того, что бы перейти в админконсоль либо нужно запустить ее непосредственно из программы FWS. Для этого нужно залогиться под ником администратора или суперадминистратора данного сервера и нажать кнопку «Администрирование» (она будет доступна). Или, просто, запустить файл «AdminConsole.exe», который находиться в корневой папке установленной программы FWS.

В админконсоли:
1. Переходим на закладку «Пользователи».
2. Выбираем нашего пользователя «User», под логином которого мы подключались и передавали данные на сервер.
3. В закладках на панели «Пользователей» выбираем «Логии пользователя». Внимание, таблица «Пользователи» может обновиться при переключении закладок и активной станет первая учетная запись пользователя, расположенная в этой таблице.
4. В поле «Логии» будет отображаться текст, который выводился в пользовательской консоли программы FWS при подключении это пользователя к базе данных сервера.
Это даст возможность администрации сервера, видеть, когда и какие действия выполнял пользователь, а так же те ошибки, которые могли возникнуть у него при работе с сервером.

user posted image

Все тоже самое:
1. Закладка «Пользователи».
2. Пользователь «User».
Переходим на:
3. Закладку «Данные пользователя». Здесь Вы видите три панели управления две таблицы и еще одну таблицу, расположенную на панели закладок:
a. Панель управления записями в таблице «Организация - владелиц». Позволяет добавлять, удалять, редактировать и обновлять записи, принадлежащие выбранному пользователю в таблице «Организация - владелиц».
b. Панель управления записями в таблице «Записи ИВППВ». Позволяет добавлять, удалять, редактировать и обновлять записи, принадлежащие выбранному пользователю и организации - владелицу в таблице «Записи ИВППВ».
c. Панель управления записями в таблицах «Проверки», «Ремонты» и «Использование». Позволяет добавлять, удалять, редактировать и обновлять записи, принадлежащие выбранному пользователю, организации - владелиц и источнику ВППВ в таблицах «Проверки», «Ремонты» и «Использование» в зависимости от того, какая закладка активна.

d. Таблица «Организация - владелиц». Отображает все записи об организациях – владельцах, которые принадлежат выбранному пользователю.
e. Таблица «Записи ИВППВ». Отображает все записи об источниках внешнего противопожарного водоснабжения, которые принадлежат выбранному пользователю и организации - владелицу.
g. Таблица «Проверки», «Ремонты» и «Использование» в зависимости от того, какая закладка активна, отображает все записи об проверках, ремонтах или использовании, которые принадлежат выбранному пользователю, организации - владелицу и записи о источниках внешнего противопожарного водоснабжения.

user posted image

1. Закладка «Пользователи».
2. Переходим на закладку «Переписка пользователя»
3. Пользователь «User».
Здесь Вы видите:
a. Панель управления записями в таблице «Входящая/исходящая почта». Позволяет добавлять, удалять, редактировать и обновлять записи, принадлежащие выбранному пользователю в таблице «Входящая/исходящая почта».
b. Таблица «Входящая/исходящая по». Отображает все записи о входящих и исходящих документах, которые принадлежат выбранному пользователю. Сразу оговорюсь, изображения документов, которые пользователь сохранил в локальной базе данных - на сервер не передаются. Данаю функция на момент написание этой статьи находиться в стадии разработке и возможно, появится в следующих версиях программы.

user posted image

1. Переходим к закладке «База данных».
Здесь мы видим:
a. Структуру базы данных «sdb_fws», которая, представлена в виде «дерева». Таким образом, наглядно отображаются связь «один ко многим» использованные при построении таблиц в этой базы данных.
b. Таблица отображающая записи содержащиеся в выбранной таблице.
2. Переходим на любую таблицу в нашем «дереве». В этом примере, отображенном на скриншоте ниже, я выбрал таблицу «Inventori», в которой содержатся записи о источниках внешнего противопожарного водоснабжения всех пользователей, которые загрузили свои данные на сервер. Можете выбрать другие таблицы, и посмотреть какие записи находятся в них.
Если нажать правую кнопку мыши на этой таблице, то откроется попап меню в котором содержится два пункта6 «Обновить» - позволяет обновить данные в текущей таблице и «Редактировать» - позволяет вносить изменения в данные записи текущей таблице. Но к вопросу редактирования данных мы вернемся чуть позже.

user posted image
PMEmail PosterICQ
Top
Sergey_758
Отправлено: Май 9 2016, 20:34
Quote Post


Активный пользователь
***

Группа: Пользователи
Сообщений: 376
Пользователь №: 2
Регистрация: 1-Марта 14
Статус: Offline

Репутация: 4




Еще хочу рассказать Вам, как добавить запись, в какую либо таблицу для определенного пользователя.
1. Снова переходим на закладку «пользователи».
2. Нажимаем кнопку «Добавить» на панели управления записями в таблице «Записи ИВППВ». Открывается форма для добавления записей. В ней находится таблица содержащая следующие :
a. Название полей данной таблицы.
b. Тип данных для полей данной таблице, а так же допустимое максимальное количество символов для строчных полей типа «Varchar» («String»).
c. Ячейки для ввода данных. Сразу скажу, первые четыре ячейки всегда заблокированы. Программа сама заполнит их с учетом того в какую таблицу вносите данные или редактируете их. Кроме того, в ячейках полей типа «date» (дата) программа проставит текущую дату, т.к. запрос на сохранение пустых полей типа «date» база данных просто не воспримет. В булевых полях типа «Enum» всегда выводится отрицание «False», в этих полях может быть внесено только значение «False» (нет) или «True» (да). Помимо этого, есть ряд полей, в которые должны вноситься строго определенные данные, иначе программа их просто не воспримет или это приведет к возникновению ошибок в ее работе. Например, в этой таблице в поле «On_balance» должно быть внесено название организации – владельца (балансодержателя), причем эта запись должна, строго совпадать с той записью, которой будет принадлежать добавляемый источник ВППВ. Еще пример для таблицы «Входящая/исходящая почта»: в поле «InOut» запись «InDoc» означает входящий документ, а запись «OutDoc», соответственно исходящий. Отсутствие или неправильно внесенная запись в этом поле приведут к тому, что программа не сможет найти запись о входящей или исходящей переписке. Будьте очень внимательны при добавлении или редактировании записей!!!

user posted image

Ну и…, на последок, немного расскажу о редактировании данных.
Данная функция доступна как для панелей управления данными в записях пользователя для соответствующих таблиц, расположенных на закладке «Пользователи». Так и для таблицы, отображающей данные записей таблиц баз данных, расположенной на закладке «База данных» (вызывается нажатием ПКМ на этой таблице). Для примера, перейдем на закладку «База данных» и выберем таблицу «Inventori», которую мы уже использовали в предыдущем примере.
Собственно говоря, форма «редактирования данных» ни чем не отличается от формы «добавления данных», кроме того, что при добавлении содержание ячеек для ввода данных отсутствует, а при редактировании они содержат значение записей ранние внесенных в базу данных. Все остальные принципы соответствуют тем, что были рассмотрены выше. При описании порядка добавления записи в базу данных.
Так же, хочу напомнить, что в случае повторной загрузки пользователем данных на сервер все изменения сделанные администрацией в базе данных сервера будут утеряны. Для того, что бы они сохранились, необходимо, что бы пользователь загрузил данные с сервера в локальную базу данных программы. О том, как это сделать я расскажу в следующей статье.

user posted image
PMEmail PosterICQ
Top
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Topic Options Reply to this topicStart new topicStart Poll


 


Мобильная версия