• Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
  • Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже предостаточно - придумайте что-то пооригинальнее.
  • Не писать свой вопрос в первую попавшуюся тему - вместо этого создать новую тему.
  • За поиск и предложение пиратского ПО - бан без предупреждения.
  • Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
  • Перед тем как что-то написать - читать здесь и здесь.

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

SCADA, серверы, АРМ верхнего уровня, диспетчерские
Ответить

Автор темы
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

Ответить

Вернуться в «Верхний уровень автоматизации»