|
|
|
| вдруг стала возникнуть такая ошибка на некоторых запросах при обращении к rs.recordcount
суть её мне вроде бы понятна - большое количество записей(больше 3млн.) сервер возвращает порциями, поэтому значение параметра rs.recordcount на клиенте не видно пока еще.
понятное дело, что это исключительная ситуация и пользователю столько записей редко надо, но
чуть меньшее количество, 1млн, например, очень даже да. так почему бы и нет?
вопрос в том - случалось ли у кого и как проводили фиксинг? :)
предполагаю на рекордсете задать pagesize, только вот не помню, будет ли он работать до выполнения рекордсета...
еще есть MaxRecords... проверю опытным путём... | |
|
| |
|
|
|
| Акс сам как-то делает
сколько раз наблюдал что количество записей формы еще не посчиталось а отображение уже началось
Мульён записей - че они с ними делают
может количество записей дергать раньше открытия рекордсета
Тут не давно имел счастье словить "не хватает памяти" на My SQL почти по той же причине - много записей пытался стянуть, пришлось свой взгляд обратить в сторону хранимых процедур | |
|
| |
|
|
|
| представь себе делают
в эксель выгружают, если не влазит - в csv
а как дёрнуть раньше? не получаедзо у меня
запросы выполняются все быстро достаточно :)
а вот выгрузить - проблем... я мозгами понимаю, что много записей - это зло, обращайтесь типа,
напишем вам серверный запрос, который портфельчег там или еще какую лабуду вам построит....
а вы только будете юзать конечный результат...
та, короче, издержки производства :) | |
|
| |
|
|
|
| дернуть раньше?
серверный запрос - хранимая процедура
всяко быстрее будет обрабатываться на стороне сервера | |
|
| |
|
|
|
| пока не определилсо | |
|
| |
|
|
|
| http://support.microsoft.com/kb/249638/ru
Если логический столбец («Да/Нет») — это один из столбцов в списке поля отправлять запрос LEFT OUTER JOIN, драйвер Microsoft Access ODBC, следующее сообщение об ошибке возникает при ссылке на результирующий набор записей объектов данных ActiveX (ADO) для Microsoft:
| |
|
| |
|
|
|
| все еще пытаюсь понять :)
когда так
.Open fsql, conn, adOpenStatic, , adAsyncExecute
то при вызове RecordCOunt пишот - недостаточно памяти
когда так
.Open fsql, conn, adOpenStatic, , adAsyncExecute Or adAsyncFetch
то при вызове RecordCOunt пишот - E_FAIL
может во втором варианте надо как то дотюнить коннекшн? :)) | |
|
| |
|
|
|
| попробовал просто побегать по записям movenextом.
бегает! и ошибки пока не вызывает(вызывается ошибка, только если обращаемся к RecordCount)
стало быть можно перехватить код ошибки и предложить выбор - или пользователь одумается и не будет выводить себе такое количество записей :)) или пусть сидит и ждет, пока программа построчно выкатит ему.... ыыыы ибо нефиг!
но, судя по всему, т.к. он тянет весь рекордсет мне накомп, что не есть гуд,
мне тупо не хватает памяти, поэтому, я думаю, что когда абсолютепозишион достигнет необходимого предела, то мне тоже выдаст ошибку :)) а может и не выдаст... но я думаю что выдаст!
вас из даст!
короче принял решение, ка ки все многие до меня, копать в направлении написания приблуды, которая бы позволяла выгружать данные с сервера контролируемыми блоками :)
ушел рыть | |
|
| |
|
|
|
| не проканало бежать по записям :) недобежал
не хватило памяти
теперь , в общем то, понятно, почему возникает это сообщение :)
ушелискать | |
|
| |