Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: oracle error (0x80004005) E_FAIL recordcount
 
 автор: Силblч   (10.10.2011 в 17:25)   личное сообщение
 
 

вдруг стала возникнуть такая ошибка на некоторых запросах при обращении к rs.recordcount
суть её мне вроде бы понятна - большое количество записей(больше 3млн.) сервер возвращает порциями, поэтому значение параметра rs.recordcount на клиенте не видно пока еще.

понятное дело, что это исключительная ситуация и пользователю столько записей редко надо, но
чуть меньшее количество, 1млн, например, очень даже да. так почему бы и нет?

вопрос в том - случалось ли у кого и как проводили фиксинг? :)
предполагаю на рекордсете задать pagesize, только вот не помню, будет ли он работать до выполнения рекордсета...
еще есть MaxRecords... проверю опытным путём...

  Ответить  
 
 автор: snipe   (10.10.2011 в 18:01)   личное сообщение
 
 

Акс сам как-то делает
сколько раз наблюдал что количество записей формы еще не посчиталось а отображение уже началось

Мульён записей - че они с ними делают

может количество записей дергать раньше открытия рекордсета

Тут не давно имел счастье словить "не хватает памяти" на My SQL почти по той же причине - много записей пытался стянуть, пришлось свой взгляд обратить в сторону хранимых процедур

  Ответить  
 
 автор: Силblч   (10.10.2011 в 18:06)   личное сообщение
 
 

представь себе делают
в эксель выгружают, если не влазит - в csv

а как дёрнуть раньше? не получаедзо у меня

запросы выполняются все быстро достаточно :)
а вот выгрузить - проблем... я мозгами понимаю, что много записей - это зло, обращайтесь типа,
напишем вам серверный запрос, который портфельчег там или еще какую лабуду вам построит....
а вы только будете юзать конечный результат...
та, короче, издержки производства :)

  Ответить  
 
 автор: snipe   (11.10.2011 в 04:11)   личное сообщение
 
 

дернуть раньше?

серверный запрос - хранимая процедура
всяко быстрее будет обрабатываться на стороне сервера

  Ответить  
 
 автор: Силblч   (11.10.2011 в 09:50)   личное сообщение
 
 

пока не определилсо

  Ответить  
 
 автор: Силblч   (24.10.2011 в 11:38)   личное сообщение
 
 

http://support.microsoft.com/kb/249638/ru

Если логический столбец («Да/Нет») — это один из столбцов в списке поля отправлять запрос LEFT OUTER JOIN, драйвер Microsoft Access ODBC, следующее сообщение об ошибке возникает при ссылке на результирующий набор записей объектов данных ActiveX (ADO) для Microsoft:

  Ответить  
 
 автор: Силblч   (24.10.2011 в 12:22)   личное сообщение
 
 

все еще пытаюсь понять :)

когда так
.Open fsql, conn, adOpenStatic, , adAsyncExecute
то при вызове RecordCOunt пишот - недостаточно памяти

когда так
.Open fsql, conn, adOpenStatic, , adAsyncExecute Or adAsyncFetch
то при вызове RecordCOunt пишот - E_FAIL

может во втором варианте надо как то дотюнить коннекшн? :))

  Ответить  
 
 автор: Силblч   (24.10.2011 в 15:18)   личное сообщение
 
 

попробовал просто побегать по записям movenextом.
бегает! и ошибки пока не вызывает(вызывается ошибка, только если обращаемся к RecordCount)
стало быть можно перехватить код ошибки и предложить выбор - или пользователь одумается и не будет выводить себе такое количество записей :)) или пусть сидит и ждет, пока программа построчно выкатит ему.... ыыыы ибо нефиг!

но, судя по всему, т.к. он тянет весь рекордсет мне накомп, что не есть гуд,
мне тупо не хватает памяти, поэтому, я думаю, что когда абсолютепозишион достигнет необходимого предела, то мне тоже выдаст ошибку :)) а может и не выдаст... но я думаю что выдаст!
вас из даст!

короче принял решение, ка ки все многие до меня, копать в направлении написания приблуды, которая бы позволяла выгружать данные с сервера контролируемыми блоками :)

ушел рыть

  Ответить  
 
 автор: Силblч   (24.10.2011 в 17:48)   личное сообщение
 
 

не проканало бежать по записям :) недобежал
не хватило памяти
теперь , в общем то, понятно, почему возникает это сообщение :)

ушелискать

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList