Проблема с запросом к FireBird Через ADODB #249529


#0 by Чертило
Делаю соединение с АДО, выполняю запрос(Выполняется моментом), потом получаю RecordSet, после чего начинаются лаги - первые 300 записей проходятся моментом в цикле - а потом начинается жесткий тупеж, подгружаются по 25-50 записей в минуту(при чем "рывками")... Посмотрел код - тупит на выполнении RecordSet.moveNext... Подскажите  - в чем ошибка, код прилагается: //*******************************************
#1 by DGorgoN
а без основной программы тупняк присутствует?
#2 by Лефмихалыч
в фиребёрдах не силен... там есть хронические процедуры?
#3 by DGorgoN
есть, и триггеры, и генераторы..
#4 by Чертило
Без основной - присутствует... Прогу надо без триггеров и "хроников" использовать... они тут не нужны
#5 by Лефмихалыч
Может тогда проще хроническую процадуру создать, которая будет выгружать нужны сведения во внешний носител типа dbf or xml, чтобы не париться с ?
#6 by DGorgoN
Никогда не любил интербазе и фиреберд (что в принцепе одно и то-же)
#7 by infolab
А что за драйвер ты используешь? У меня ZStyle IBOLE - все летает, хотя и тригеров и процедур предостаточно.
#8 by Лефмихалыч
я тоже, только мое "нелюблю" зиждется на самом деле на каком-то эквиваленте "ниасилил" - просто в свое время было время изучить, но не было желания 8)
#9 by Чертило
Этот драйвер - он под фаерберд?
#10 by DGorgoN
И не нада, я тут студенту работу писал на дельфях + интрербазе - чуть весь монитор со злости не разбил, то не то, это не работает, типов данных мало, везде какие-то огрехи и жалкое пародия на клиент-сервеную БД, жесть.. Про драйвер кстати тема, пожалуй единственное на что можно грешить, т.к. других причин я не вижу..
#12 by infolab
Да он как firebird так и Interbase цепляет. Вот полное название ZStyle IB OLE BD Provider
#13 by Чертило
Можеш на почту кинуть драйвер? Не нашел где скачть.
#14 by infolab
Вот тут все есть
#15 by infolab
На почту тоже кинул
#16 by Чертило
Ничего не изменилось... Правда использовал "LCPI.IBProvider". Странно идет по выборке быстро до 105 строки , потом до 135 и т.д. на 6900 строк уходит 40 мин...
#17 by infolab
Раньше использовал IBProvider нареканий небыло, хотя он навороченный. А на запрос можно глянуть? может там что, или он обычный типа select name from mytable
#18 by Чертило
#19 by infolab
Попробуй использовать только RecordSet. FB_REC = СоздатьОбъект("ADODB.RecordSet"); ConnectString = "....... ...... и т.д. У меня так тоже работает.
#20 by infolab
ну запрос как запрос, тем более ты пишешь "выполняю запрос(Выполняется моментом)". Ты как успел заметить дело всетаки в драйверах, попробуй все же  ZStyle IB OLE для полной увереннности, а пример ConnectString я тебе уже высылал.
#21 by Чертило
Как зарегистрировать поставщика? Не могу соедениться по этому провайдеру
#22 by infolab
regsvr32 IBOLE.dll
#23 by infolab
ConnectString = "Provider=ZStyle IBOLE Provider;User ID=SYSDBA;Password=masterkey;SQL Dialect=3; Logging Level=0;Silent mode=True;Character Set=WIN1251;Data Source=LocalHost:MyBase;Open Mode=0";
#24 by Infolab
Ну, что нибудь выходит?
#25 by Чертило
Не получилось зарегистрировать поставщика
#26 by infolab
чего пишет?
#27 by Чертило
Не удается найти указанного поставщика. Вероятно, он указан неверно
#28 by romix
А я запарился юзать ADO, написал ...
#29 by infolab
Странное, у тебя там чего-то. Ладно попробуй на том что есть т.е. LCPI.IBProvider добавь к запросу select first 500 skip 0 name, .... from mytable т.е. проверь как это все будет при малом количестве работать ну например 500
#30 by infolab
Странно идет по выборке быстро до 105 строки , потом до 135 и т.д. на 6900 строк уходит 40 мин... Получается что драйвер всю выборку куда-то кидает, а потом порциями выдает
#31 by infolab
а ты в ConnectString параметр Data Source=LocalHost:MyBase правильно заполнил,
#32 by Чертило
Data Source=C:ProfSegmentProfstroy3BASE.gdb ТОже самое как и для других
#33 by infolab
Ну что же, можно и так
#34 by infolab
т.е. это для 500 Data Source=localhost:C:ProfSegmentProfstroy3BASE.gdb или если сервер не локальный Data Source=192.168.1.1:C:ProfSegmentProfstroy3BASE.gdb - путь на машине 192.168.1.1
#35 by Чертило
Да для 500 База локальная. Поправил как у Вас, но ничего не изменилось...Мне кажется что ей не нравится "Provider=ZStyle IBOLE Provider"
#36 by infolab
на примере 500, она также выдавала кускама (прерывисто) или более менее ровно, но просто долго?
#37 by Чертило
Кусками
#38 by infolab
Ладно завтра попробую воспроизвести твою ситуацию у себя. Предлагаю продолжить завтра.
#39 by Чертило
Я пока еще поковыряюсь с
#40 by MMF
а сколько времени на выполнение и полный фетч в isql или IBE? Лучше кинь статистику из IBE.
#41 by Чертило
Я не настолько глубоко в "теме". Т.е. не понял Ваш вопрос
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

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