Форум 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 » SIAD/SQL. Архивирование в TRACE MODE / SIAD/SQL. Data Logging in TRACE MODE » как я прикручивал tm к ms sql server

   
Автор / Author Тема / Topic: как я прикручивал tm к ms sql server
stepagrus
Forum Haunter / Завсегдатай форума
Участник № / Member № 3589


Icon 1 отправлено / posted      Профиль для / Profile for stepagrus           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
встала задача: прикрутить SQL Server к ТМ, для того чтобы недостающие данные для генерируемого отчета брать из БД.

После нескольких попыток это удалось сделать, всё описано в справке.

но случилась одна проблема: если делать SELECT и в условии WHERE фигурирет дата:

code:
WHERE Table.Date > #DateFrom#  

запрос не выполняется. Причина: Дата/время передается числовым значением.
в TM дата/время имеет формат UnixTime (число секнуд с 1.1.1970). MS SQL Server это число воспринимает как количество дней с 1.1.1900 (целая часть числа).

переконвертировать одно число в другое средствами ST в TM практически (на самом деле теоретически, т.к. я не проверял) ) невозможно, т.к. нужно учитывать високосные года.

спустя какое то время решение было найдено: конверитровать дату в строку вида 'число.месяц.ггод час.минута.секунда' с помощью программы на Техно_ST и передать её в Запрос_к_СУБД как строку.

В самом запросе вместо:
code:
WHERE 
Main_table.Date > #Date_from#

написать:

code:
WHERE 
Main_table.Date > Convert(DATETIME, '#Date_from#' ,104)

чтобы эта команда отработала в браузере запросов нужно убрать одинарные кавычки ' ' с переменной, т.к. TM в режиме эмуляции не понимает эти кавычки, хотя запрос в работающем RTM работает только с кавычками.

создал эту тему потому, что я сам много времени потерял на эксперименты с этой фичей. возможно кому нибудь это поможет сэкономить своё время [Пдмигивание / Wink]

Сообщения / Posts 136 | Из / From: РФ  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
stepagrus
Forum Haunter / Завсегдатай форума
Участник № / Member № 3589


Icon 1 отправлено / posted      Профиль для / Profile for stepagrus           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
да. скорее всего продолжение следует...
Сообщения / Posts 136 | Из / From: РФ  |  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



Powered by Infopop Corporation
UBB.classic™ 6.7.2