bg

Экспорт данных в Microsoft SQL Server 2014-2022 с помощью модуля ODBC Database

Описание проблемы:

Я хочу записать лог файлы от нашей АТС в базу данных MS SQL 2014. Я установил модуль "ODBC database" и протестировал ODBC соединение с помощью ODBC администратора и все выглядит работающим.

Требования:

  • Advanced Serial Data Logger (ASDL) Professional или пробная версия;
  • Модуль "ASCII data parser and query" для Advanced Serial Data Logger;
  • Модуль "DDE server" для логгера (опционально, для тестирования);
  • Модуль "ODBC database" для логгера.

Подразумевается что:

Вы подготовили переменные парсера для экспорта.

Для данного примера данные подготовлены в предыдущей части.

Также вы можете просмотреть другие примеры парсинга данных (разные типы парсеров)

Решение:

Замечание: Этот процесс достаточно сложен и может оказаться трудным для неподготовленного пользователя.

Подразумевается, что у вас есть доступ к базе данных, и вы можете управлять ею. Сначала, создайте таблицу в базе данных. Вы можете сделать это в существующей базе данных или создать новую БД. Наиболее просто сделать это с использованием Enterprise Manager для Microsoft SQL Server. Это программное обеспечение поставляется вместе со стандартной программой установки, и вы можете найти ярлык для этой программы в меню "Microsoft SQL Server" в группе "Пуск → Программы". В этом примере мы создали таблицу с именем "PBX_LOG_DATA" в тестовой базе данных "Northwind". Структура таблицы показана ниже.


USE [test]
GO

CREATE TABLE [dbo].[PBX_LOG_DATA](
	[ID] [decimal](10, 0) IDENTITY(1,1) NOT NULL,
	[CALL_TIME] [datetime] NULL,
	[DURATION] [datetime] NULL,
	[CALLER_PHONE] [nvarchar](40) NULL,
	[DIALED_PHONE] [nvarchar](40) NULL,
CONSTRAINT [PBX_LOG_DATA_PK] PRIMARY KEY ([ID] ASC)
) ON [PRIMARY]

GO

Рис.1. Экспорт данных в MS SQL. Таблица SQL.

Обратите внимание, что мы добавили в таблицу 4 колонки, для всех переменных парсера, которые мы определили ранее. Вы можете добавить дополнительные колонки или использовать таблицу с вашей структурой.

Замечание: Вы должны указать уникальные имена колонок. Запрещено использование в качестве имени колонки зарезервированных слов ANSI92 SQL. В этом примере мы могли бы использовать имя "Datetime" для первой колонки. Но поскольку это зарезервированное слово, то мы добавили префикс "d_", для того, чтобы было отличие от зарезервированного слова.

Теперь таблица готова и пришло время настроить права доступа к ней в свойствах SQL Server. В SQL, каждый пользователь имеет строго определенные права доступа к определенным объектам базы данных. В нашем случае, новый пользователь может быть создан, или разрешен доступ уже существующей учетной записи. Также вы можете настроить соединение от имени администратора, который имеет все права, но из-за соображений безопасности рекомендуется использовать учетную запись администратора только для отладки и тестирования. Мы создали пользователя с именем "uvt", и установили для него "Northwind" как базу данных по умолчанию (рис.2).

Экспорт данных в MS SQL. Новый пользователь.
Рис.2. Экспорт данных в MS SQL. Новый пользователь.

По умолчанию, пользователь имеет права, присвоенные роли базы данных "public". Поэтому необходимо выдать права на запись в созданную таблицу для этой роли или только для конкретного пользователя (рис.3).

Экспорт данных в MS SQL. Права роли Public
Рис.3. Экспорт данных в MS SQL. Права роли "Public".


USE [test]
GO

GRANT SELECT,INSERT ON [dbo].[PBX_LOG_DATA] TO your_user_name
GO

Модуль "ODBC database" использует источники данных ODBC для доступа к базе данных SQL Server 2014. Источник данных можно создать и настроить из "Администратора ODBC соединений". Вы можете открыть его из группы "Администрирование" панели управления. Также вы можете открыть окно администратора со страницы "Соединения" кликнув на кнопке "Настроить" (рис.11 поз. #3 ). В окне администрирования вы должны создать новый пользовательский или системный источник данных ODBC. Системные источники данных ODBC (выберите закладку в поз. #1 на рис.4) используются, если программа будет использоваться в режиме сервиса. Мы добавим новый пользовательский источник данных, кликнув по кнопке "Добавить" (поз. #2 на рис.4).

Экспорт данных в MS SQL. Администрирование источников данных ODBC
Рис.4. Экспорт данных в MS SQL. Администрирование источников данных ODBC

Мастер настройки нового соединения появится на экране (рис.5). На первой странице необходимо выбрать драйвер базы данных SQL Server (поз. #1 на рис.5) и кликнуть по кнопке "Далее". Если в списке драйверов нет драйвера для SQL Server, тогда вам необходимо установить клиентскую часть для Microsoft SQL Server с того же диска, что и сам Microsoft SQL Server 2014.

Настройка источника данных для SQL Server. Шаг #1.
Рис.5. Настройка источника данных для SQL Server. Шаг #1.

На следующей странице (рис.6), укажите имя источника данных ODBC (в нашем случае TEST), небольшое текстовое описание и выберите ваш сервер из выпадающего списка. Если сервера нет в списке, то проверьте, что сервер запущен и доступен в сети. После указания всех значений кликните на кнопке "Далее".

Настройка источника данных для SQL Server. Шаг #2.
Рис.6. Настройка источника данных для SQL Server. Шаг #2.

На следующей странице (рис.7) мы указали использоваться режим авторизации SQL Server (поз. #1), поскольку был добавлен новый пользователь. Далее введите имя пользователя и пароль (поз. #2).

Настройка источника данных для SQL Server. Шаг #3.
Рис.7. Настройка источника данных для SQL Server. Шаг #3.

На следующей странице (рис.8) мы выбираем нашу базу данных - "Northwind" и оставляем другие опции без изменений.

Настройка источника данных для SQL Server. Шаг #4.
Рис.8. Настройка источника данных для SQL Server. Шаг #4.

На последней странице (рис.9) мы должны протестировать соединение с нашей базой данных. Просто кликните по кнопке "Тестировать".

Настройка источника данных для SQL Server. Последний шаг.
Рис.9. Настройка источника данных для SQL Server. Последний шаг.

Хорошо, база данных и таблица готовы. Теперь необходимо открыть окно настройки модуля "ODBC database" и в нем открыть страницу "Общее", с помощью кнопки на левой стороне окна (рис. 10).

Экспорт данных в MS SQL. База данных ODBC. Включение.
Рис.10. Экспорт данных в MS SQL. База данных ODBC. Включение.

Переключатель в позиции №1 позволяет включить запись в базу данных и опция в позиции №2 указывает на то, что соединение с базой данных будет поддерживаться постоянно. Это минимизирует время записи в базу данных, но в тоже время, может блокировать запись данных от других пользователей.

На второй странице "Соединение" (рис. 11) вы можете указать параметры соединения с вашей базой данных. Здесь в позиции №1 нужно выбрать имя созданного источника данных ODBC, который мы создали ранее. Обратите внимание, что если вы создали источник данных после открытия окна, то необходимо нажать кнопку "Обновить", чтобы он появился в списке. Затем укажите логин и пароль для доступа к базе данных в позиции №2.

Экспорт данных в MS SQL. База данных ODBC. Опции соединения.
Рис.11. Экспорт данных в MS SQL. База данных ODBC. Опции соединения.

В нашем примере дополнительные атрибуты соединения не требуются.

На третьей странице "Обработка ошибок" модуля "ODBC database" (рис.12), укажите, как программа должна реагировать на ошибки, возникающие во время записи в базу данных.

Экспорт данных в MS SQL. База данных ODBC. Обработка ошибок.
Рис.12. Экспорт данных в MS SQL. База данных ODBC. Обработка ошибок.

В этом примере была выбрана последняя опция (поз. #1) поскольку позволяет не останавливать запись в базу данных, если произошла какая-либо ошибка. Другие варианты обычно используются при настройке и отладке конфигурации программы.

Последняя страница "Связывание" (рис.13) очень важна. На это странице необходимо связать колонки созданной таблицы в базе данных и переменные парсера.

Экспорт данных в MS SQL. База данных ODBC. Связывание.
Рис.13. Экспорт данных в MS SQL. База данных ODBC. Связывание.

Вы можете добавить новые элементы на этой странице, кликнув на кнопке "Добавить" (рис.13, поз.#6). В этом случае, перед добавлением нового элемента, программа спросит вас об имени таблицы (рис.13, поз.#1), а затем и имя колонки (рис.13, поз.#2). Имя таблицы должно быть таким же, что вы указали при создании таблицы в базе данных. Добавление элементов, описывающих колонки таблицы довольно трудоемкий процесс. Гораздо проще добавить все элементы, кликнув на кнопке "Импортировать" (рис.13, поз.#7).

Однако перед тем как нажать кнопку "Импортировать" вы должны настроить соединение с базой данных, как описано выше. В нашем случае следующее окно появится на экране (рис.14) и вы должны выбрать необходимую таблицу из списка (рис.14, поз.#1), а затем кликнуть по кнопке "OK".

Экспорт данных в MS SQL. База данных ODBC. Выбор таблицы.
Рис.14. Экспорт данных в MS SQL. База данных ODBC. Выбор таблицы.

Каждая колонка описывается следующими параметрами:

  1. Имя переменной парсера - это имя, которое мы определили в парсере. Вы можете выбрать имя переменной из выпадающего списка, когда вы кликните на ссылке рядом с этим свойством;
  2. Тип данных - тип данных колонки в базе данных. Программа будет пытаться конвертировать переменную парсера в этот тип данных, используя стандартные системные функции;
  3. Значение по умолчанию - это значение будет использоваться, когда данные не могут быть преобразованы в указанный тип данных.

Пожалуйста, кликните на кнопке "OK" в окне настройки модуля "ODBC database" и затем на кнопке "OK" в окне настройки конфигурации.

Хорошо, все настройки завершены и мы готовы к записи данных от АТС в базу данных.

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

Сопутствующие статьи: