Запись данных в Microsoft Access с помощью модуля ODBC Database
Описание проблемы:
Я получаю значение веса из весов каждые несколько секунд, и я хочу, полученное через последовательный порт значение, передавать в базу данных, вместе с меткой даты и времени. База данных расположена на сетевом диске и эта база данных не будет использоваться, если запущена программа.
Требования:
- Advanced Serial Data Logger (ASDL) Professional или пробная версия;
- Модуль "ASCII data parser and query" для Advanced Serial Data Logger;
- Модуль "DDE server" для логгера (опционально, для тестирования);
- Модуль "ODBC database" для логгера.
Подразумевается что:
Вы подготовили переменные парсера для экспорта.
Для данного примера данные подготовлены в предыдущей части.
Также вы можете просмотреть другие примеры парсинга данных (разные типы парсеров)
Решение:
Необходимо настроить модуль "ODBC database", который будет экспортировать данные в базу данных Microsoft Access. Процесс настройки несложный и доступен для неподготовленного пользователя.
Подразумевается, что вам ранее приходилось работать с Access. Прежде всего, создайте новую базу данных и таблицу в ней, в которую будут записываться наши данные.
Затем, выберите модуль "ODBC database" в списке модулей экспорта данных и кликните по кнопке "Настроить" по этим списком. В результате, на рабочем столе появится диалоговое окно настройки модуля (рис.1).
Рис.1. Экспорт данных в MS Access. База данных ODBC. Включение экспорта.
Переключатель в позиции №1 позволяет включить запись в базу данных и опция в позиции №2 указывает на то, что соединение с базой данных будет поддерживаться постоянно. Это минимизирует время записи в базу данных, но в, тоже время, может блокировать запись данных от других пользователей.
На второй странице "Соединение" (рис. 2) вы можете указать параметры соединения с вашей базой данных. Здесь в позиции №1 нужно выбрать имя созданного источника данных ODBC, который мы создали ранее. Обратите внимание, что если вы создали источник данных после открытия окна, то необходимо нажать кнопку "Обновить", чтобы он появился в списке. Затем укажите логин и пароль для доступа к базе данных в позиции №2.
Рис.2. Экспорт данных в MS Access. База данных ODBC. Настройка соединения.
Вы можете настроить соединение с базой данных двумя способами:
- Создать полностью настроенный источник данных ODBC, кликнув на кнопке "Настроить" (рис.2, поз. 3);
- Создать источник данных ODBC и указать в нем только тип базы данных (Microsoft Access), а все остальные параметры указать в настройках модуля экспорта данных (поз. #2 на рис.2).
Нажмите кнопку "Обновить" после добавления нового источника данных в менеджере ODBC.
Примечание 1: Вам следует добавить 32-битный псевдоним ODBC, так как наше программное обеспечение является 32-битным.
Примечание 2: Если вы хотите записывать данные в базу данных ACCDB, но соответствующий драйвер отсутствует (вы не можете найти драйвер, поддерживающий файлы с расширением *.accdb), вам следует установить пакет Microsoft Access Database Engine Redistributable (32-битная версия).
В этом примере мы выбрали способ №2, поскольку он более быстрый и простой. При этом нам требуется указать только имя файла базы данных (рис.2, поз.2). Обратите внимание, что необходимо указать полный путь к базе данных.
Несколько слов о нашей базе данных. Вы должны создать базу и таблицу в ней самостоятельно, с помощью инструментов Microsoft Access. Если у вас нет Microsoft Access или еще не создали базу данных, то вы можете скачать ее здесь.
Для этого примера мы создали базу с именем "database.sample.mdb". База данных содержит таблицу с именем "SERIAL_DATA". Таблица содержит следующие поля:
- FVALUE (числовое);
- FDATE (дата);
- FTIME (время).
Для колонок #2 и #3 мы присвоили функции Date() и Time() в качестве значений по умолчанию, и поэтому, будем получать метку даты и времени автоматически при добавлении новой записи.
На третьей странице "Обработка ошибок" модуля "ODBC database" (рис.3) укажите, как программа должна реагировать на ошибки, возникающие при записи в базу данных.
Рис.3. Экспорт данных в MS Access. База данных ODBC. Обработка ошибок.
В этом примере была выбрана последняя опция (поз. #1) поскольку позволяет не останавливать запись в базу данных, если произошла какая-либо ошибка. Другие варианты обычно используются при настройке и отладке конфигурации программы.
Последняя страница "Связывание" (рис.4) очень важна. На это странице необходимо связать колонки созданной таблицы в базе данных и переменные парсера.
Рис.4. Экспорт данных в MS Access. База данных ODBC. Связывание.
Поскольку, мы уже определили значения по умолчанию для двух колонок, поэтому нам нужно только связать колонку "FVALUE" с переменной парсера "VALUE".
Вы можете добавить новые элементы на этой странице, кликнув на кнопке "Добавить" (рис.4, поз.#6). В этом случае, перед добавлением нового элемента, программа спросит вас об имени таблицы (рис.4, поз.#1), а затем и имя колонки (рис.4, поз.#2). Имя таблицы должно быть таким же, что вы указали при создании таблицы в базе данных. Добавление элементов, описывающих колонки таблицы довольно трудоемкий процесс. Гораздо проще добавить все элементы, кликнув на кнопке "Импортировать" (рис.4, поз.#7).
Однако перед тем как нажать кнопку "Импортировать" вы должны настроить соединение с базой данных, как описано выше. В нашем случае следующее окно появится на экране (рис.5) и вы должны выбрать необходимую таблицу из списка (рис.5, поз.#1), а затем кликнуть по кнопке "OK".
Рис.14. Экспорт данных в MS Access. База данных ODBC. Выбор таблицы.
Каждая колонка описывается следующими параметрами:
- Имя переменной парсера - это имя, которое мы определили в парсере. Вы можете выбрать имя переменной из выпадающего списка, когда вы кликните на ссылке рядом с этим свойством;
- Тип данных - тип данных колонки в базе данных. Программа будет пытаться конвертировать переменную парсера в этот тип данных, используя стандартные системные функции;
- Значение по умолчанию - это значение будет использоваться, когда данные не могут быть преобразованы в указанный тип данных.
Пожалуйста, кликните на кнопке "OK" в окне настройки модуля "ODBC database" и затем на кнопке "OK" в окне настройки конфигурации.
Хорошо, все настройки завершены и мы готовы к записи данных от весов в базу данных.
Если вы настроили все верно, то при удачной записи в базу данных программа будет отображать соответствующее сообщение в главном окне программы, в списке сообщений программы.
Сопутствующие статьи: