Dsql query to string collection

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

Ответить
mwoland

Dsql query to string collection

Сообщение mwoland »

Добрый день. Галактика 910. Я динамически формирую сложный dsql запрос с помощью функций sqladdstr. При этом добавляю к результирующей строке запроса другие строки запросов с типами string, longint и sql query. Подскажите, пожалуйста, существует ли возможность получить коллекцию строк результирующего запроса? Другими словами, мне нужно проверить текст результирующего запроса. Inb4 "используй систему логирования"
LaaLaa

Re: Dsql query to string collection

Сообщение LaaLaa »

Записывайте протоколы "Сервис | Утилиты | Система логирования | Запуск логирования" в SIL-формате. И смотрите их через Smartinspect Redistributabe Console.

Возможность доступна в Атлантисе 5.5.21
LaaLaa

Re: Dsql query to string collection

Сообщение LaaLaa »

В более ранних поствках Атлантис есть текстовая версия протокола protocol которую формируют специалные сборки ora90drv.dll и ms70drv.dll
mwoland

Re: Dsql query to string collection

Сообщение mwoland »

Да, спасибо, я знаю об этом функционале, очень полезная вещь. Собственно им и пользуюсь для контроля, но это не совсем подходит: я хотел свои объекты, которые генерят и декорируют запросы покрыть юнит тестами и в случае провала теста вываливать в лог текст запроса, но, видимо, не судьба, попробую через инъекцию.
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5188
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Re: Dsql query to string collection

Сообщение edward_K »

я вместо sqladdstr вызываю свою функцию в которой пишу в том числе в лог в out зверя. Получается готовый запрос. который можно выполнить в сапорте с SQL. Туда же пишу и результат выполнения - так что сразу все видно если что. Сапорт уже скажет в какой именно строке косяк. Раньше в 810 в ms70drv выводился целиком запрос и причина ошибки - было чуть проще. Опять же - можно через профайлер посмотреть, но это чутка сложнее - вычлинить нужный запрос БД.
Ну еще вариант сложные запросы выполнить в SQL в хранимке, а результат поместить в какую нибудь темповую таблицу галактики(лучше не временную а разделить по UserName или UserID.
Ответить