2013-10-07 3 views
0

Я ученик программист, и я приложил задание на свою работу, чтобы разработать систему программного обеспечения для мониторинга времени, в котором часы, часы и время работы сотрудника. Сотрудник будет использовать клавиатуру, прикрепленную к компьютеру на стойке регистрации, чтобы ввести идентификатор своего сотрудника в gui, который будет синхронизировать их. Есть еще один gui, который менеджер офиса будет использовать для наблюдения за сотрудниками, и следить за тем, кто находится в офисе.Связь между двумя компьютерами и базой данных

Проект представляет собой проект в виде окон в VS 2010 с двумя gui (как упоминалось) и базу данных Access 2007 для хранения данных. У менеджера офиса gui есть объект DataGridView, который я бы хотел заполнить именем сотрудника, и время (ы), в которое он запускает или выдает. Я бы хотел, чтобы это произошло в реальном времени. Другими словами, как только сотрудник набирает часы, он заполняется в менеджерах офиса gui. То, что я ищу, является лучшей практикой для этого подхода. Должен ли я использовать подход клиент/сервер? Должен ли я иметь что-то триггер из базы данных , чтобы предупредить менеджера офиса gui о том, чтобы запустить событие, чтобы получить время ввода/вывода времени сотрудника, заполненного в офисных менеджерах DataGridView?

База данных и запросы были разработаны. Я просто ищу наилучшую практику для решения этой проблемы. Я студент колледжа младшего уровня, и я постоянно нахожусь в stackoverflow.com. Это мой первый вопрос, поэтому в любом случае это большой шаг для меня :) Спасибо заранее.

+1

MS Access просто не подходит для многокомпьютерных сценариев. В основном это относится к клиентским приложениям многоуровневого сервера. доступ хорош, когда одно приложение на одном ПК и сохраняет/загружает все данные локально. не рекомендуется отправлять данные в таблицу менеджера. вы могли бы использовать sql/server или mySQL или oracle? как насчет mysql? мы можем заставить ms-доступ так, как вы хотите, но это не так. – inquisitive

ответ

0

Если вы выровнены по Microsoft (и используете .NET и т. Д.), Вам может быть достаточно легко пройти маршрут SQL Express (все инструменты, созданные Microsoft, похожи и хорошо интегрируются).

Вы можете загрузить SQL Express с расширенными услугами (любой версии 2005 года должно быть хорошо для этого проекта, до тех пор, как она включает в себя студию управления, и вы также можете Reporting Services)

Мой подход будет опрашивать базы данных время от времени, чтобы отслеживать изменения в таблице (-ах) ввода/вывода часов.

Я бы не использовал доступ, поскольку это не лучшее решение для реальной базы данных, и оно не масштабируется особенно хорошо. Хотя он будет хорошо работать для вашего проекта, вам стоит получить доступ к SQL-серверу, чтобы получить некоторый опыт работы с ним.

Я предполагаю, что ваш просмотр в режиме ожидания или просто отобразит страницу имен сотрудников и будет основываться на дате - в этом случае запуск запроса каждые 5-10 секунд в базе данных для получения текущего состояния выиграл никаких проблем.

Хотя это можно запихнуть уведомления от SQL к клиенту, он, как правило, так же легко, если не легче просто установка таймера в конце клиента и не вызовет какое-либо влияние на производительность в применении такого масштаба

+0

ОК, звучит достаточно просто. Я немного знаком с базами данных, и я не упомянул, что он будет перенесен на SQL Server 2008 или 2012, когда он начнет выпускаться. Я должен буду читать состояния базы данных, но большое вам спасибо за ваш ответ. – user2851189

+0

По состоянию, я имею в виду моментальный снимок данных в то время (запрос другими словами!) - ничего нового не узнать, если вы уже запрашиваете Access – Charleh

Смежные вопросы