|
|
|
Глюки курсорадаптера
|
|||
|---|---|---|---|
|
#18+
Хочу поделится проблемой с которой столкнулся при использовании курсорадаптера . Итак VFP9/ MSSQL 2000 Строю несколько курсорадаптеров - все отлично работает , но вот добавляю еще один который возвращает порядка 50 тыс. записей(таблицы могут быть разные) - назовем его справочником . И все - один из курсорадаптеров созданный ранее не работает - возвращает 0 количество записей !. Ладно ,думаю, просто типа не успевает загрузить сразу - делаю CursorRefresh() - хренушки нет ничего. Эксперементирую дальше - в вновь создаваемом курсорадаптере(справочнике) ставлю признак того, что не надо загружать данные сразу. Первый курсор загружается - вроде ура , но !!! CursorRefresh() на нем неработает - как не меняй параметры отбора - данные с сервака не идут. Пока что решил проблему так- курсорадаптеры строю только на обновляемые параметризированные курсоры - все достаточно большие (хотя разве это большие 50 тыс) курсоры загружаю через sqlexec. Если кто сталкивался с такой бедой и победил это - поделитесь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2006, 16:36 |
|
||
|
Глюки курсорадаптера
|
|||
|---|---|---|---|
|
#18+
2 -=AlexiS=- Привет земляк!!! :-) Тоже использую курсоры. А Сколько ты курсоров создаешь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2006, 00:37 |
|
||
|
Глюки курсорадаптера
|
|||
|---|---|---|---|
|
#18+
Hi AlexiS! Полный пример некорректного поведения нарисовать сможешь? А то так что-то не понятно что ты делаешь и как, и где именно ломается... Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2006, 02:07 |
|
||
|
Глюки курсорадаптера
|
|||
|---|---|---|---|
|
#18+
to Недоходящий курсоров в этой именно форме сейчас - 10. to Igor Korolyov Итак сначала я создал порядка 5-7 курсоров которые предназначались для ввода и обновления. Все они являются параметризированными , загружаются сначала без заполнения данными(Initially open with no data), и уже в Load и Init формы я определившись с параметрами делаю примерно следующее Код: plaintext 1. 2. 3. Но вот я решаю для дальнейшей работы подгрузить 2 справочника Sotrud и Klient Создаю курсорадаптеры которые представляют из себя примерно такой код Код: plaintext В свойствах курсорадаптера стоит загружать данные сразу Теперь внимание при загрузке формы курсор BOOKING - пуст и что бы я не дела с параметрами код Код: plaintext 1. 2. 3. После этого делаю следующее ставлю свойства справочника- не грузить данные сразу. загрузку произвожу позже в load form'ы Код: plaintext 1. певоначальная загрузка данных в BOOKING происходит НО опять как не меняй параметры - refresh не идет ни в какую. Причем эксперементировал убирая/оставляя оба справочника или по одному-все равно. Убрал эти таблицы из курсорадаптеров, в Load form'ы загружаю их через sqlexec() - все работает как надо. Т.Е. как я понял нельзя в курсорадаптерах использовать "большие" запросы . (Хотя разве это много 50 тыс. записей ???) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2006, 10:50 |
|
||
|
Глюки курсорадаптера
|
|||
|---|---|---|---|
|
#18+
Неправильно ты понял. Можно в нем и больше. Ищи причину в твоих настройках курсор-адаптера. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2006, 12:26 |
|
||
|
Глюки курсорадаптера
|
|||
|---|---|---|---|
|
#18+
см. allow simultaneous fetch ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2006, 12:31 |
|
||
|
Глюки курсорадаптера
|
|||
|---|---|---|---|
|
#18+
allow simultaneous fetch - игрался Fetch as need тоже Fetch Size менял Короче заметил такую закономерность - пока в курсорадаптер данные не подгрузяться полностью (вне зависимости от вышеперечисленных настроек ) - ничего в другие курcорадаптеры не грузиться. Но почему ? Какие еще могут быть настройки (может самого конекта ?) И почему все работает если выполнять это дело через sqlexec ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2006, 13:22 |
|
||
|
Глюки курсорадаптера
|
|||
|---|---|---|---|
|
#18+
только что провел эксперимент создал 2 курсорадаптера 1 большой - счета вся таблица - около 300 тыс.записей allow simultaneous fetch .t. Fetch as need .t. Fetch Size 10 2 маленький параметризированный - сборы по счету. пока не прокрутил до конца 1 курсор и не получил все записи - 2 курсорадаптер не обновлялся. Причем если в DE первым создать большой курсор- второй вообще не создается ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2006, 13:31 |
|
||
|
Глюки курсорадаптера
|
|||
|---|---|---|---|
|
#18+
продолжил эксперимент ставлю большому курсору Fetch as need .f. Fetch Size -1 т.е. заставляю загрузить все данные - все работает а хотелось бы нормальной асинхронной работы - загрузилась первая порция - с ней работаем - а так приходиться ждать. Некрасиво как-то Sqlexec кстати у меня потому и работал, что у меня по умолчанию стоит синхронный режим. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2006, 13:43 |
|
||
|
Глюки курсорадаптера
|
|||
|---|---|---|---|
|
#18+
не понимаю необходимости тянуть 300 тыс даже 10тыс нет необходимости тянуть всегда можно ограничить объем курсора интерфейсными заморочками зачем юзверу такой курсор и соответствующие тормоза?? чтобы затем фильтры на него накладывать??? буху не нужно сразу видеть все тысячи достаточно кинуть ему количество и общую сумму и группы , затем он уже кликает и тянутся дальше данные придумайте курсорадаптеру свойства where дополнительные и наклеивайте к основному селекту ну это, во-первых во-вторых посмотреть нужно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2006, 15:07 |
|
||
|
Глюки курсорадаптера
|
|||
|---|---|---|---|
|
#18+
Ну елы-палы ясное дело , что не тяну я в реальной форме такое кол-во записей. Приведенные примеры - это тесты. Ясное дело что в интерфейсе у меня предусмотрены фильтры , курсорадаптеры параметризированы и т.д. Но где та грань в отборе данных после которой происходит этот "глюк". сегодня это 30 тыс. - а завтра вдруг глюканет на 100 записях ? Просто хотелось бы нормального поведения от курсорадаптера . Или по крайней мере документированного. А так шаманством приходиться заниматься. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2006, 15:53 |
|
||
|
Глюки курсорадаптера
|
|||
|---|---|---|---|
|
#18+
Еще раз: нет у курсоадаптера такого ограничения. Ковыряйте настройки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2006, 15:58 |
|
||
|
Глюки курсорадаптера
|
|||
|---|---|---|---|
|
#18+
В догонку самое поганое то , что если сначала создать "большой" курсорадаптер - то ВСЕ последующие просто-напросто НЕ СОЗДАЮТЬСЯ. Ну пусть бы были пустыми - а так просто нет и все причем без всякой ошибки. Профайлер показывает что запрос просто не идет. Фокс решил за меня что мне это ненадо."Перетрудился и лег отдохнуть" И небольшое лирическое отступление. Что значит много - где грань - ? 10 тысячь-это много ? - вроде да , а если счет записей идет на миллионы ? Опять-же я сам хочу решать что много , а что нет . А так фокс сам решил что ему это много и все . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2006, 16:02 |
|
||
|
Глюки курсорадаптера
|
|||
|---|---|---|---|
|
#18+
тянули 50 тыс не было глюков ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2006, 16:02 |
|
||
|
Глюки курсорадаптера
|
|||
|---|---|---|---|
|
#18+
дайте свои настройки я вроде уже все перепробовал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2006, 16:13 |
|
||
|
Глюки курсорадаптера
|
|||
|---|---|---|---|
|
#18+
Попробуй посмотреть здесь http: http://forum.foxclub.ru/read.php?29,181229,181365#msg-181365/url%5D]http://forum.foxclub.ru/read.php?29,181229,181365#msg-181365/url] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2006, 19:57 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=33860088&tid=1591197]: |
0ms |
get settings: |
5ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
132ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
71ms |
get tp. blocked users: |
1ms |
| others: | 196ms |
| total: | 429ms |

| 0 / 0 |
