Источник данных 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 строк).