Прочие источники

<< Click to Display Table of Contents >>

Navigation:  Проект > Документы объектов > Генератор отчетов > Источники данных и переменные > Источники данных >

Прочие источники

Основным источником данных является источник "Архив MasterSCADA". Однако редактор отчетов также позволяет работать и с другими различными источниками данных - различными СУБД, OLE DB, ODBC, текстовые файлы различных форматов (csv, XML, JSON). Указанные источники данных предназначены для решения специальных задач и применяются редко.

В некоторых случаях данные необходимо получить другими путями – через файлы таблиц csv или, например, напрямую из базы данных – используя SQL запрос.

Создадим пример, в котором, используя редактор отчетов, мы получать данные из SQL-сервера за определенный промежуток времени. Отчет должен содержать таблицу следующего вида: "ID" (уникальный номер записи), "Время", "Величина значения". Все данные мы будет получать из SQL-сервера, переменные "Начало" и "Конец", для задания диапазона выборки значения, мы будем получать из дерева объектов MasterSCADA.Для таких отчетов необходимо использовать источник данных "Данные из SQL соединения". В качестве SQL сервера будем использовать Microsoft SQL Server 2008. Сначала создадим базу данных и наполним ее данными.

Используя администратор баз Microsoft SQL Server Management Studio, создадим новую базу данных.

BDpart2_img32

Назовем ее "report_database".

BDpart2_img33

Добавим новую таблицу. Назовем ее "my_table". Сделаем три поля: уникальный номер поля – "ID" (тип bigint, поле не может быть null), значение переменное – "Value" (тип int), и время переменной – "Time" (тип datetime).

Наполним таблицу данными:

BDpart2_img34

Создание базы завершено – закроем администратор баз.

Запустим MasterSCADA и создадим проект. В проект добавим объект, в объект добавим две переменные типа время"начало" и "конец". На закладке Опрос зададим переменным параметр Значение до опроса - в этом случае мы сможем просмотреть отчет в режиме предварительного просмотра (не запуская систему в режим исполнения). Этими переменными мы будем ограничивать диапазон времени выборки переменных из базы данных.

На закладке объекта Отчеты добавим отчет. Перетащим в словарь отчета переменные "начало" и "конец" из дерева объектов. Переменные появятся в словаре.

BDpart2_img35

Теперь получим данные из базы данных.

Для этого сначала нужно установить соединение с базой данных. Вызовем контекстное меню словаря и выберем пункт: Новое соединение.

BDpart2_img36

В появившемся окне выберем – SQL соединение.

BDpart2_img37

В появившемся окне введем имя соединения – "SQL_connection".

BDpart2_img38

В поле  Строка соединения нужно ввести параметры соединения – имя базы данных, имя пользователя, пароль. Можно это сделать вручную, но лучше воспользоваться автоматическим построением. Для этого нажмем на кнопку: Построить.

В появившемся окне введем имя соединения с базой данных, и выберем нужную нам базу данных и нажмем ОК.

BDpart2_img39

Строка соединения пропишется в поле

BDpart2_img40

Проверим соединение – нажмем на кнопку Проверка.

BDpart2_img41

Соединение успешно установлено. Нажмем на ОК сообщения, и на ОК окна.

Соединения появилось в словаре:

BDpart2_img42

Теперь добавим источник данных. Вызовем контекстное меню и выберем пункт Данные из SQL соединения.

BDpart2_img43

Появится окно настройки. В верхнем поле Наименование в источнике вводится имя SQL соединения, из которого необходимо получить данные. У нас соединение одно, поэтому оно прописалось в строку автоматически.

Введем имя данных – "Данные".

BDpart2_img44

Теперь необходимо настроить получение и выборку данных. Для этого в поле Текст запроса введем следующий SQL запрос:

Select*Frommy_table

Этот запрос выберет из базы все колонки. Нажмем на кнопку с восклицательным знаком (выполнить запрос).

BDpart2_img45

Нажмем на ОК сообщения, а затем нажмем на кнопку: Получить все колонки. Колонки добавятся в окно.

BDpart2_img46

Нам необходимо ограничить выборку при помощи двух параметров времени – "начало" и "конец". Добавим эти параметры.

Для этого щелкнем правой кнопкой мыши по объекту "Параметры" и выберем пункт Новый параметр.

BDpart2_img47

Зададим имя параметру – "Начало" и тип – datetime .

BDpart2_img48

Аналогично создадим параметр "Конец".

Теперь нам необходимо построить запрос выборки при помощи этих двух параметров. Для того чтобы использовать в запросе параметр, перед его именем нужно поставить символ @.

Подправим наш запрос:

Select*From my_table where Time>@Начало and Time<@Конец

Этот запрос будет выбирать только те значения, время которых больше параметра "Начало", и меньше параметра "Конец".

BDpart2_img49

Можно удостоверится в правильности составления запроса и снова нажать на кнопку: Выполнить запрос.

После этого нажмем ОК.

В словарь добавился новый источник, с тремя колонками и двумя параметрами

BDpart2_img50

Теперь присвоим параметрам значения переменных.

Для этого выберем параметр "Начало" и перейдем на закладку Свойства. Щелкнем мышью в поле Выражение и нажмем на кнопку с тремя точками.

BDpart2_img51

В появившемся окне введем имя переменной "Начало" (можно перетянуть ее из объекта Переменные), и нажмем ОК.

BDpart2_img52

Проделаем аналогичные действия c параметром "Конец".

Теперь перетащим источник на рабочее поле страницы – создастся бэнд"Данные", в окне настроек укажем нужные переменные и их порядок отображения. Нажмем: ОК.

BDpart2_img53

Отформатируем поля – зададим выравнивание по центру, более крупный шрифт и сделаем у полей границу.

BDpart2_img54

Теперь запустим предварительный просмотр и посмотрим на результат.

BDpart2_img55

Данные выбраны из базы данных и отфильтрованы.