Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Microsoft Access - программирование и готовые решения


Выпуск 102. Размещение базы на удаленном сервере

Подписка:      "Microsoft Access - программирование и готовые решения"
Дата:               21.10.2010
Сайт:               http://www.leadersoft.ru/
Статья:            Источник

 
РАБОТА
Коллеги, для поддержки и развития имеющейся системы (ACCESS + SQL Serever) нужны 1-2 человека. Работа сдельная, работа на удаленном сервере, т.е. с вашей стороны потребуется интернет. Если кому интересно - пишите fertasco@mail.ru Сообщите о себе: рождение, образование, какой опыт имеется. И для нашего психолога - прикрепите к письму 1-2 личные фото. Алексей

ВОПРОС. Размещение mdb базы на удаленном сервере
  1. Что Вы можете рекомендовать?
  2. Какие наиболее рациональные способы для этого существуют?
  3. Какие должны быть выполнены шаги?
  4. Какие подводные камни?
  5. Можете ли Вы сделать это?
  6. Каков приблизительный бюджет, сроки ?
  7. Механизм дальнейшего сопровождения?
  ОТВЕТ
  1. Что Вы можете рекомендовать?
Те, кто давно работает с базой данных Access на локальном компьютере понимает, что базу данных лучше разделить на 2 части таблицы (mdb) и интерфейс (mde). Это позволяет грамотно сохранять данные на компьютере и оперативно вносить данные в интерфейс. В случае разрушения файлов их легче восстановить, используя встроенные средства базы данных.

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

1 вариант. У вас есть проект mdb, accdb и Вы ничего не хотите изменять. Разместить такую базу данных на УДАЛЕННОМ сервере можно, но организовать к ней доступ через интернет прямо из Access невозможно, т.к. на сервере нет запущенной среды Access, да и эта программа является клиентской программой (рассчитана на работу с запросами 1 пользователя).

2 вариант. Вы решили из mdb проекта создать adp. В этом случае база имеет интерфейс на локальном компьютере и таблицы на сервере SQL Server. Тогда, все упрощается, т.к. применяется клиентская программа (Access) и серверная (SQL Server). Где будет расположен SQL Server не важно, к нему надо только научиться подключаться, определив его интернет адрес (ip адрес), название пользователя и пароль.
2. Какие наиболее рациональные способы для этого существуют?
 Для mdb и adp проектов возможны несколько вариантов удаленной работы.
  1. Терминальный доступ
  2. Виртуальная частная сеть (VPN)
  3. FTP или Email доступ
  4. Web Интерфейс (aspx)
  5. Adp интерфейc
3. Какие должны быть выполнены шаги?
  1. Терминальный доступ (mdb проект).
    Вы должны установить на локальном компьютере в Windows программу удаленного администрирования для подключения к серверу через интернет.
     
  2. Виртуальная частная сеть, VPN (mdb проект).
    Разница между терминальным доступом и VPN заключается в том, что на экране компьютера, с которого осуществлен доступ, не будет рабочего стола удаленной машины. Но в сетевом окружении будут необходимые папки  и следовательно несложно привязать интерфейс вашего компьютера к удаленному файлу mdb
     
  3. FTP или Email доступ (mdb проект).  
    Этот режим не требует дополнительных программ, желательно установить класс FTP доступа или класс работы с Outlook, который позволит Вам закачивать и скачивать mdb файл с ftp сервера (или через Email) на локальный компьютер. Синхронизацию можно сделать специальный класс
     
  4. Web Интерфейс (mdb проект).
    Данный сайт работает по такому принципу. Необходимо базу данных разделить на несколько файлов: ошибки (log.mdb),  интерфейс (interface.mdb), пользователи (users.mdb), заказы (orders.mdb) и организовать Ftp доступ к этим файлам из интерфейса пользователя
     
  5. Access интерфейс (adp проект)
    Необходимо будет базу данных (mdb) разбить на 2 части. В первом файле должны будут находится формы, макросы и программы (adp файл), а все таблицы перенести на SQL Server.
    Далее базу в формате SQL сервера установите у провайдера, а интерфейс на вашем компьютере. Вы подключаетесь к интернету, вводите имя сервера, пользователя и пароль и работаете с базой также как будто она размещена на локальном компьютере. Никаких отличий в интерфейсе нет, если база данных небольшая, да и соединение хорошее, то и потеря скорости обработки записей практически незаметны. Так SQL Server кэширует записи и чтение данных происходит быстро.
4. Какие подводные камни?
  1. Терминальный доступ.
    Удаленный сервер в интернете должен иметь выделенный IP адрес и программу Microsoft Access. Вы входите на удаленный компьютер и через рабочий стол запускаете Access и открываете файл с интерфейсом. Такие требования предоставляет не каждый провайдер, т.к. это требует больших ресурсов сервера и обеспечение его защиты. Доступ неавторизованным пользователям (заказчикам из интернета) будет закрыт. Также нужна лицензия каждому подключившемуся пользователю
     
  2. Виртуальная частная сеть.
    Нужно иметь сервер, выделенный IP адрес и средства на поддержку и администрирование такой сети. Доступ неавторизованным пользователям (заказчикам из интернета) будет закрыт, но лицензии для каждого пользователя VPN не нужны. В зависимости от скорости передачи информации через применяемое подключение к Интернету будет заметным время работы с базой данных (приходится копировать Access файл базы через зашифрованное соединение). Само по себе соединение устанавливается достаточно быстро даже при использовании выхода в Интернет через обычный модем.
     
  3. FTP или Email доступ (mdb проект).
    Возникают некоторые проблемы синхронизации данных от разных пользователей, т.к. ее невозможно обеспечить работу с базой в режиме on-line
     
  4. Web Интерфейс
    Удобно работать всем пользователям (не авторизованным и своим), но сложно программировать базу данных, т.к. для ее проектирования применяется Visual Studio. Пример - текущий сайт.
     
  5. Access интерфейс (adp проект)
    а) Самое сложное в этом деле при переводе mdb проекта в adp - это перевод SQL запросов и кода программ DAO в ADODB, т.к. это не сделает ни одна программа. Придется все делать вручную. Хотя в новой 14 версии Access (2011-2012) Microsoft обещает больше времени уделить интерфейсу adp проектов.

    б) Другой проблемой являются - размеры баз данных и настройки SQL Server у интернет провайдеров.  Они требуют дополнительных денег: за поддержку базы данных более 100 мб, за подключение новых пользователей. Админы так настраивают SQL Server, что невозможно обратиться к нему с простейшими запросами (например, sql запрос различает слова написанные в разных регистрах: поле1 и ПОЛЕ1), неправильно дают привилегии собственнику базы данных и т.п.

ПРОДОЛЖЕНИЕ СТАТЬИ




Лицензия на источник информации
    Все права на статью принадлежат Leadersoft.ru. Статья предназначена только для публикации среди подписчиков subscribe.ru. Никто без письменного разрешения leadersoft.ru не может продавать, перепечатывать, сдавать в аренду или другим образом извлекать выгоду, используя информацию из этой и других статьях данной рассылки.

В избранное