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

  Следующая старая тема / next oldest topic   Следующая новая тема / next newest topic
» Форум TRACE MODE: техническая поддержка » ТЕХНИЧЕСКАЯ ПОДДЕРЖКА / TECHNICAL SUPPORT TRACE MODE 6 » Работа с приложениями (ODBC-SQL/OPC/DDE) » Использование функций SQL

   
Автор / Author Тема / Topic: Использование функций SQL
i.Sineev
Junior Member / Новичок
Участник № / Member № 4448


Icon 1 отправлено / posted      Профиль для / Profile for i.Sineev           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Добрый день.

Помогите разобраться со следующей проблемой:
В таблице БД ORACLE есть 2 поля времени, значения для которых ODBC драйвер ORACLE требует как строки timestamp. В ТМ же время представлено форматом unixtime, поэтому конвертирование времени из одного формата в другой неизбежно. Оптимальным решением было выбрано конвертирование времени на стороне БД.
Функция "unixts_to_date" принимает тип number, и возвращает необходимую строку. Вопрос в том, как теперь эту функция правильно использовать.

запрос
INSERT INTO SCADA.SAMPLE
(
ID_TAG,
TIME1,
TIME2,
STYPE,
SAMPLE
)
VALUES
(
25,
#time1#,
unixts_to_date(#time2#),
#stype#,
#value#
)

не выполняется именно из-за записи в time2 unixts_to_date(#time2#).

в то же время запрос

INSERT INTO SCADA.SAMPLE
(
ID_TAG,
DDEVICE,
DREQUEST,
ID_SAMPLETYPE,
SAMPLE
)
VALUES
(
25,
{ ts '2010-11-30 15:28:28' },
unixts_to_date(84153600),
0,
400
)

выполняется корректно

подскажите, в чём проблема.
Заранее спасибо.

Сообщения / Posts 28 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
AdAstra Technical Support
Moderator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for AdAstra Technical Support           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Нельзя ли по трассировщику ODBC-драйвера уточнить как именно интерпретируется Ваш SQL-запрос ODBC-драйвером и какие обшибки он обнаруживает?
Сообщения / Posts 15120 | Из / From: Russia  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
i.Sineev
Junior Member / Новичок
Участник № / Member № 4448


Icon 1 отправлено / posted      Профиль для / Profile for i.Sineev           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
В аргумент (IN, UDINT) канала CALL типа БД из атрибута 45 канала FLOAT попадает строковое представление атрибута 45.

В случае аналогичной передачи этого атрибута в аналогичный аргумент канала CALL типа program в аргумент программы попадает именно unixtime.

Как такое может быть?
Выдержка из справки:
quote:

(45, T) Время изменения – в этот атрибут записывается время пересчета/отработки канала; атрибут возвращает 4-байтовое число секунд с 01.01.70;


Сообщения / Posts 28 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
AdAstra Technical Support
Moderator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for AdAstra Technical Support           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Во внутренних интерфейсах Trace Mode 6 дата-время передается как 4-байтовое число секунд с 01.01.70.
В SQL-запросах - в строковом представлении.

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

Quick Reply
Сообщение / Message:

HTML код не разрешен. / HTML is not enabled.
UBB код разрешен. / UBB Code is enabled.

Значки Graemlins / Instant Graemlins
   


Послать новую тему / Post New Topic  Послать ответ / Post A Reply Закрыть тему / 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

Rambler's Top100 Rambler's Top100



Powered by Infopop Corporation
UBB.classic™ 6.7.2