1. Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
  2. Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
  3. Не писать свой вопрос в первую попавшуюся тему - вместо этого создать новую тему.
  4. За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения.
  5. Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
  6. Перед тем как что-то написать - читать здесь и здесь, а студентам - обязательно здесь.
  7. Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.

Подключение БД SQL к CitectSCADA

Citect, VijeoCItect, PlantSCADA, GeoSCADA, ClearSCADA, Machine Expert SCADA

Модератор: Специалисты SE

Ответить

Автор темы
hugo
здесь недавно
здесь недавно
Сообщения: 52
Зарегистрирован: 24 янв 2011, 15:01
Имя: Поздеев Василий Николаевич

Подключение БД SQL к CitectSCADA

Сообщение hugo »

Добрый день!
Подскажите, пож, как просто и быстро подключить БД (локальную) и считать из нее необходимые строки
В CiCode прописываю функцию (предварительно в Администрирование->ODBC создал пользовательский DSN с именем "Test", который привязал к существующей локальной БД с таблицей Table_1):

FUNCTION qqq()
INT hSQL;
STRING str;
SQLConnect("DSN=Test");
SQLExec (hSQL, "SELECT * FROM Table_1");
str=SQLGetField (hSQL, "1й стб");
END

*"1й стб" - название первого столбца
в-общем, в итоге в str ничего нет :(

Автор темы
hugo
здесь недавно
здесь недавно
Сообщения: 52
Зарегистрирован: 24 янв 2011, 15:01
Имя: Поздеев Василий Николаевич

Re: Подключение БД SQL к CitectSCADA

Сообщение hugo »

решение найдено :) хоть и немного непонятное..
в таблице ячейки были типа nchar и после смены типа на int и небольшого преобразования кода все заработало:

Код: Выделить всё

FUNCTION www
	INT hSQL;
	INT aaa;
	hSQL=SQLConnect("DSN=Hugo_test");
	SQLExec(hSQL, "select * from Table_1");
	IF SQLNext(hSQL)=0 THEN
                 aaa = SQLGetField(hSQL, "one");
        END
END
Ответить

Вернуться в «SCADA»