Обзор

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

Возможности подключения

Возможен доступ к любой базе данных, поддерживаемой JDBC. Для соединения с какой-либо конкретной базой данных необходим специальный JDBC драйвер . Такие драйверы общедоступны практически для большинства баз данных, включая MySQL, MS SQL Server, IBM DB2, Oracle, Sybase, и многие другие. Драйвер для баз данных MySQL поставляется в комплекте с системой. Чтобы получить информацию о том, где найти подходящий JDBC-драйвер, обратитесь к документации на Ваши базы данных.

Конфигурация

Каждый источник данных должен иметь произвольно заданное Имя. Значение Периода обновления определяет частоту чтения базы данных.

Значение Имя класса драйвера задает Java-класс, который реализует интерфейс в Вашем JDBC-драйвере. Это значение можно найти в документации на Ваш драйвер. Далее приводится список имен классов драйверов для заданной базы данных, он приводится только для информации. Обратите внимание, что для выполнения соединения обычно требуется установка программы-драйвера на сервер Scada-LTS. Если у Вас возникли проблемы с установкой, пожалуйста, обратитесь к документации на Вашу базу данных.

Строка соединения зависит от базы данных, которую вы используете и особенностей ее установки. В документации на Ваш JDBC-драйвер вы найдете информацию о том, как извлекать значения из Вашей базы данных. Значения полей Имя пользователя и Пароль обеспечивают необходимый доступ к базе данных, чтобы установить соединение с этим приложением.

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

Чтобы определить способ построения запроса, по строкам или столбцам, используйте флажок Запрос по строкам. Так как этот параметр влияет на атрибуты в конфигурации объекта данных, его следует изменять только в случае, если для источника данных не определено ни одного объекта. Ниже приводится более подробная информация о запросах, построенных по строкам и по столбцам.

Обработка запросов по строкам

Запросы по строкам выдают результирующее множество, имеющее особую структуру построения данных. Но в тоже время такие запросы позволяют гораздо проще извлекать большой объем однотипных данных по сравнению с запросами по столбцам.
Результирующее множество данных должно иметь следующую структуру:

Обработка запросов по столбцам

Запросы по столбцам используют имя столбца результирующего множества для поиска значения и его времени. Важно понимать, что в запросе по столбцам используется только первая строка результирующего множества.

Могут быть случаи, когда запрос по строкам является предпочтительным, но невозможным из-за того, что значения объектов имеют несопоставимый тип данных. В этих случаях можно составить SQL выражение, чтобы перевести запрос по строкам в запрос по столбцам. Обычное выражение для поиска данных в нескольких строках может выглядеть так:

select status from relays

Чтобы транспонировать такую таблицу для поиска значений в одной строке, можно выполнить следующее (предположим имеется 3 реле):

select
  r1.status as r1status,
  r2.status as r2status,
  r3.status as r3status
from relays r1, relays r2, relays r3
where r1.relayId = 'relay1'
  and r2.relayId = 'relay2'
  and r3.relayId = 'relay3'

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

Тестирование выражения запроса выбора данных

Функция Тестирование выражения может использоваться как для проверки значений Вашей конфигурации, так и для тестирования SQL выражения запроса выбора данных. При нажатии кнопки Выполнить, осуществляется попытка установки соединения с Вашей базой данных. В случае успешного соединения, SQL-запрос будет выполнен. Любые ошибки, возникающие при выполнении запроса, выводятся на экран. Если SQL выражение работает корректно, результат будет отражен на экране в зависимости от того, как построен запрос – по строкам или по столбцам. Запросы, построенные по столбцам, выдадут в результате строку для каждого столбца, с указанием имени столбца, типа данных столбца (в круглых скобках, с использованием типа JDBC), и найденного значения. Результатом запроса по строкам будет таблица, в заголовке которой будут имена столбцов и типы данных, а в строках – данные результирующего множества (до 50 строк).