Запрос к базе oracle через citrix пустой. #286111


#0 by beholder
Используется компонента версии 2.5.0.1. База 1С грузится через Цитрикс. В цикле следуют запросы к оракловой базе. Через какое-то время запросы возвращаются пустыми. Но если их запустить отдельно ,то результаты есть. Вставление пауз (до 30 секунд) между запросами - не помогает.
#1 by beholder
идеи?
#2 by smaharbA
ниче не понял
#3 by asady
код покажи.
#4 by beholder
1С++ имеется в виду.
#5 by pav007
А где Oracle?
#6 by 774816
лучше вывести из цикла так
#7 by beholder
вот тут Если Соединение.Соединение(СокрЛП(Константа.СтрокаСоединения)) = 0   Тогда - сейчас попробую. А теоретическое обоснование можно?
#8 by pav007
Каждый раз обнуляеться результат на последнее значение из СпрФирмы
#9 by 774816
а  НД.ПолучитьРезультатыВ_ТЗ(ВрТЗ,1) данные добавляються или очишаються при выгрузке?
#10 by КонецЦикла
"t_hrmd_a_1cpers_o_dict" Круто...
#11 by pav007
Покажи содержимое константы я не верю что 1с++ работает с Oraclom
#12 by 774816
создоватьв цикле рекорсет и при это каждый раз соединяться не имеет смысла у тебя один рекордсет с одним и ем же соединеним но разными запросами
#13 by beholder
фиг знает, писал не я, а пока все работает...
#14 by beholder
блин, да какая разница с чем работать! :) это ж ODBC :) ну если не веришь - на тебе "Driver={Microsoft ODBC for Oracle};Server=xxx;Uid=xxx;Pwd=*****;"
#15 by beholder
не помогло
#16 by beholder
куда? в ТЗ? Очищаются. - ага, там еще все колонки по немецки именованы. Пришлось вспоминать школьный курс :)
#17 by pav007
Я не знал , то что я написал в у тебя будет работать быстрее
#18 by КонецЦикла
Вообще интересная тема Я пока не пробовал (т-т-т)
#19 by beholder
- это типа вместо перебора и запросов по нескольким юр лицам у меня получится запрос по последнему юрлицу ? :) Ну да будет работать быстрее :)
#20 by pav007
А какой смысл очищать таблицу в цикле ВрТЗ = СоздатьОбъект("ТаблицаЗначений");
#21 by beholder
это не ради очищения делается, а ради создания ее
#22 by DmitrO
не проверяются ошибки.. вместо Открыть и ПолучитьРезультатыВ_ТЗ используй метод ВыполнитьИнструкцию
#23 by DmitrO
хотя мне кажется дело всетаки в данных..
#24 by beholder
не в данных дело. Если тот же запрос запихать в PL/SQL Developer (это как QA в MS SQL Server) то запрос возвращает данные. + Если ограничить список фирм теми которые не подгрузились то тоже возвращаются данные.
#25 by beholder
ап
#26 by Outlows
У меня было что-то похожее только с MS-SQL вылечил заменой ПолучитьРезультатыВ_ТЗ(ВрТЗ,1) на Выгрузить(ВрТЗ)
#27 by beholder
- че-то не нашел в доке такого метода :(
#28 by Outlows
Попробуй это : поменять на это :
#29 by Outlows
+28 поменять на это, а то не догадаешься:
#30 by beholder
Выполнитьинструкцию че-то не помогло
#31 by Outlows
Как ты его в Developerе пробуешь, ставишь Отладка и текст копируешь? Разве на КодЮрЛица не надо Trim ставить?
#32 by beholder
- да копирую и выполняю. Трим не надо там всегда 4 символа. Кроме того Oracle нормально отрабатывает если есть лишние пробелы, в отличие от.
#33 by 774816
Попробуй через ADO строку срединения исправь тока, и можно соединение и рекодсет вывести  в основную процу что б каждый раз не создовать и передовать как параметр PS пример не тестил
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С