i.Sineev
Junior Member / Новичок
Участник № / Member № 4448
отправлено / posted
Добрый день.
Помогите разобраться со следующей проблемой: В таблице БД ORACLE есть 2 поля времени, значения для которых ODBC драйвер ORACLE требует как строки timestamp. В ТМ же время представлено форматом unixtime, поэтому конвертирование времени из одного формата в другой неизбежно. Оптимальным решением было выбрано конвертирование времени на стороне БД. Функция "unixts_to_date" принимает тип number, и возвращает необходимую строку. Вопрос в том, как теперь эту функция правильно использовать.
отправлено / posted
Нельзя ли по трассировщику ODBC-драйвера уточнить как именно интерпретируется Ваш SQL-запрос ODBC-драйвером и какие обшибки он обнаруживает?
Сообщения / Posts 17317 | Из / From: Россия
| IP / IP: IP адрес / IP address |
i.Sineev
Junior Member / Новичок
Участник № / Member № 4448
отправлено / posted
В аргумент (IN, UDINT) канала CALL типа БД из атрибута 45 канала FLOAT попадает строковое представление атрибута 45.
В случае аналогичной передачи этого атрибута в аналогичный аргумент канала CALL типа program в аргумент программы попадает именно unixtime.
Как такое может быть? Выдержка из справки:
quote: (45, T) Время изменения – в этот атрибут записывается время пересчета/отработки канала; атрибут возвращает 4-байтовое число секунд с 01.01.70;
отправлено / posted
Во внутренних интерфейсах Trace Mode 6 дата-время передается как 4-байтовое число секунд с 01.01.70. В SQL-запросах - в строковом представлении.
Сообщения / Posts 17317 | Из / From: Россия
| IP / IP: IP адрес / IP address |