Просмотр полной версии : MasterScada4D + MySQL
Добрый день, форумчане!
Требуется срочная помощь в выборке данных из БД MySQL средствами Скады.
у меня одна выборка получается, данные принимаю, но когда пытаюсь сделать новые запросы то ничего не приходит.
делал так:
1. сделал узел АРМ
2. создал в библиотеке новую структуру данных
3. создал в библиотеке новый ФБД на основе SqlRequestWithResult, где результату применил тип новой структуры
4. создал в АРМ подключения к БД, настроил его
5. сделал программу ФБД с новой библиотекой (п.3) прописал команду выборки
6. сделал новый параметр в АРМ с новым типом и в него привязал результат программы.
При такой конфигурации все работает, но как только я делаю по новой это с другой структурой и запросами, то программа начинает ругаться(
Ошибка запуска : Ошибка старта протокола ([string "VarMySQL_1_79179_Main"]:112: attempt to index a nil value (global 'SqlRequestWithResult_1')
Товарищи помогайте пожалуйста! Как делать разные запросы в одну БД??????????????????
явно в наследование смотреть надо? как делается наследование?
Добрый день, форумчане!
Требуется срочная помощь в выборке данных из БД MySQL средствами Скады.
у меня одна выборка получается, данные принимаю, но когда пытаюсь сделать новые запросы то ничего не приходит.
делал так:
1. сделал узел АРМ
2. создал в библиотеке новую структуру данных
3. создал в библиотеке новый ФБД на основе SqlRequestWithResult, где результату применил тип новой структуры
4. создал в АРМ подключения к БД, настроил его
5. сделал программу ФБД с новой библиотекой (п.3) прописал команду выборки
6. сделал новый параметр в АРМ с новым типом и в него привязал результат программы.
При такой конфигурации все работает, но как только я делаю по новой это с другой структурой и запросами, то программа начинает ругаться(
Ошибка запуска : Ошибка старта протокола ([string "VarMySQL_1_79179_Main"]:112: attempt to index a nil value (global 'SqlRequestWithResult_1')
Товарищи помогайте пожалуйста! Как делать разные запросы в одну БД??????????????????
Если данные хоть раз приняли то по идее все нормально должно работать. Покажите скриншот с протоколом и программой
Еще у меня запросы работают если названия полей структуры совпадают с результатом запроса.
Т.е. если запрос возвращает a,b,c то и структура должна быть такая, если что то не совпадает то не работает.
Так же на текущий момент есть проблема с размеров массива в результате запроса.
Например при первом запросе размер массива 100, а во втором 5, то массив остается 100. Что при выводе в таблицу получается каша. Обещали исправить
Несколько запросов означает что на вход команды SqlRequestWithResult подается текст запроса разный
Либо создать несколько ФБ SqlRequestWithResult. С нужными запросами.
Лично я запросы делаю не в программе, а в протоколе.
В свойствах протокола выставляю подключение и выполнение( а в самих запросах выполнение и опрос) по условию и когда надо дергаю нужные запросы
54749
54750
Если данные хоть раз приняли то по идее все нормально должно работать. Покажите скриншот с протоколом и программой
Еще у меня запросы работают если названия полей структуры совпадают с результатом запроса.
Т.е. если запрос возвращает a,b,c то и структура должна быть такая, если что то не совпадает то не работает.
Так же на текущий момент есть проблема с размеров массива в результате запроса.
Например при первом запросе размер массива 100, а во втором 5, то массив остается 100. Что при выводе в таблицу получается каша. Обещали исправить
Несколько запросов означает что на вход команды SqlRequestWithResult подается текст запроса разный
Либо создать несколько ФБ SqlRequestWithResult. С нужными запросами.
Лично я запросы делаю не в программе, а в протоколе.
В свойствах протокола выставляю подключение и выполнение( а в самих запросах выполнение и опрос) по условию и когда надо дергаю нужные запросы
54749
54750
вот как раз и нужно создать несколько ФБ SqlRequestWithResult, только результат массив с разными наборами, т.е. тип разный.
разобрался с наследованием. нужно в библиотеке сделать наследника этого ФБ и тогда работать начинает.
Делал в новой версии от 31.03.
на счет выборки массивов - подтверждаю! каша! если данные поменялись то массив каждый раз не сбрасывается а заполняется(
вот как раз и нужно создать несколько ФБ SqlRequestWithResult, только результат массив с разными наборами, т.е. тип разный.
разобрался с наследованием. нужно в библиотеке сделать наследника этого ФБ и тогда работать начинает.
Делал в новой версии от 31.03.
на счет выборки массивов - подтверждаю! каша! если данные поменялись то массив каждый раз не сбрасывается а заполняется(
Проще все таки делать запросы не в программе, а в самом протоколе создать запрос. В сложных запросах я замучился экранировать спец символы.
Так же столкнулся с ограничением на выполнение запроса символов в котором более 2000. Но это запрос через непосредственно запрос, а не в программе.
В итоге сейчас в бд создаю необходимые запросы в виде функций, а в скаде уже дергаю функцию с нужными мне параметрами.
Можно запихнуть результат запроса в отчет. В отчете он будет отображаться нормально .
Powered by vBulletin® Version 4.2.3 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot