Форум TRACE MODE: техническая поддержка   
мой профиль / my profile авторизация / login | регистрация / register | поиск / search | часто задаваемые вопросы / faq | начало / forum home

  Следующая старая тема / next oldest topic   Следующая новая тема / next newest topic
» Форум TRACE MODE: техническая поддержка » ТЕХНИЧЕСКАЯ ПОДДЕРЖКА / TECHNICAL SUPPORT TRACE MODE 5 » Работа в MS Windows (ODBC/DDE/OPC/NET) / Working under MS Windows » Visual Studio: запись в каналы

   
Автор / Author Тема / Topic: Visual Studio: запись в каналы
Dmitri Shumeyev
Junior Member / Новичок
Участник № / Member № 664


Icon 11 отправлено / posted      Профиль для / Profile for Dmitri Shumeyev           Редактировать/удалить сообщение / Edit/Delete Post 
Есть необходимость переодически обновлять каналы из внешней программы. Раньше это делалось через ODBC и ADO+Delphi. Сейчас нужно вместо Delphi использовать Visual C 6.0. Написал код (см. ниже) все отлично: компилируется, выполняется и никаких сообщений об ошибках. Только вот в каналы ничего не записывает :-(

В чем может быть причина сей огорчительной вещи?


_ConnectionPtr pCon("ADODB.Connection");
_CommandPtr pCmd("ADODB.Command");

pCon->Open("DSN=TML_A;", "", "",adConnectUnspecified);
pCmd->PutRefActiveConnection(pCon);
pCmd->CommandText="UPDATE ARCHIVE SET VALUE='312' WHERE CHAN_ID=0 AND ATTR_ID=0";
pCmd->Execute(NULL,NULL,adCmdText);


С уважением,
Дмитрий.

Сообщения / Posts 6 | Из / From: Russia  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 2 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post 
Индекс атрибута (ATTR_ID) №0 - это Реальное значение канала, а Вам нужно записывать в его Вход - это индекс №2.
Сообщения / Posts 17106 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Dmitri Shumeyev
Junior Member / Новичок
Участник № / Member № 664


Icon 11 отправлено / posted      Профиль для / Profile for Dmitri Shumeyev           Редактировать/удалить сообщение / Edit/Delete Post 
С тех пор, как это самый запрос в других программах (MS Query, Delphi) выполняется без проблем, то смена значения атрибута канала едва ли что-то изменит. Но все же попробовал. Не помогло. :-(
Сообщения / Posts 6 | Из / From: Russia  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post 
Обработка SQL-запросов ODBC-драйвером не зависит от среды их формирования.
Скорее всего, дело во взаимодействии ADO с VB.
У нас нет практики работы с ADO, однако:

1) первое, что странно - параметр - adConnectUnspecified - мы не нашли его в документации по ADO;

2) по умолчанию
Open (ADO)
Opens a cursor (read-only by default).
Syntax
recordset.Open Source, ActiveConnection, CursorType, LockType, Options

открывает read-only курсор - может быть, поэтому не удается изменять данные;

3) вообще, наверное имеет смысл проанализировать, что возвращает каждая из функций Open, Execute; также можно попробовать коннектиться не к уже имеющемуся соединению PutRefActiveConnection - а создать новое, сразу на open.

Сообщения / Posts 17106 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
   

   Закрыть тему / Close Topic   Feature Topic   Переместить топик / Move Topic   Удалить топик / Delete Topic Следующая старая тема / next oldest topic   Следующая новая тема / next newest topic
 - Printer-friendly view of this topic
Перейти к / Hop To


Новости АСУ ТП / News | SCADA / HMI | Обучение / Trainings | Свяжитесь с нами / Contact Us



Powered by Infopop Corporation
UBB.classic™ 6.7.2