Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Неправильно отрабатывает условие при отборе / 23 сообщений из 23, страница 1 из 1
25.02.2004, 18:51
    #32421540
Kot Bazilio
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Неправильно отрабатывает условие при отборе
Случается такая неприятность:
Работают с базой несколько касс и переодически (отчеты по кассам делаются не реже раза в день) в отчете кассы 1 вылазит запись относящаяся к кассе 2 (номера касс взяты для примера) и она же вылазит в отчете по кассе 2, запись относящаяся к кассе 1 бесследно исчезает. Все это естественно отлавливается соответствующими запросами и из локальных баз востанавливается, но этот геморой несколько нарушает наш покой, тем более, что иногда база пытается завалиться, возможно даже именно по этой причине. Мы потихоньку грешим на индексы но не уверены.
Есть идеи, уважаемые?
...
Рейтинг: 0 / 0
25.02.2004, 20:05
    #32421609
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Неправильно отрабатывает условие при отборе
Подозреваю, что заголовок топика вводит в заблуждение. Юзер, безусловно, видит именно то, что там написано: проблему в отчете. Однако на самом деле данные каким-то образом портятся в таблицах гораздо раньше, чем запускается отчет. Это же сказано и в вопросе: "Все это естественно отлавливается соответствующими запросами и из локальных баз востанавливается".

Так что задача - понять, в какой момент портятся данные. Задача не из легких. Для начала можно предложить устроить трейсинг. Это тем более сложно, что нужно следить за всей базой, ибо заранее неизвестно, какая запись испортится.
...
Рейтинг: 0 / 0
26.02.2004, 11:52
    #32422167
Kot Bazilio
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Неправильно отрабатывает условие при отборе
А как этот трейсинг устроить?

Еще одна подробность. Когда делаю после этого обычный Repair, бывает все проходит нормально, а бывает ругается на неуникальность первичного ключа, приходится сначала удалять ключ, потом восстанавливать, чистить и опять индексировать. Где-то раз в 2 недели. Задолбало...
...
Рейтинг: 0 / 0
26.02.2004, 12:17
    #32422227
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Неправильно отрабатывает условие при отборе
авторЕще одна подробность. Когда делаю после этого обычный Repair, бывает все проходит нормально, а бывает ругается на неуникальность первичного ключа, приходится сначала удалять ключ, потом восстанавливать, чистить и опять индексировать

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

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

добро пожаловать на MSDE ))
...
Рейтинг: 0 / 0
26.02.2004, 12:51
    #32422291
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Неправильно отрабатывает условие при отборе
Да рушится база, рушится. Индексы слетают. Отсюда и неправильные выборки по слетевшим индексам, и ругань при восстановлении (если уникальный индекс просрался).

Я такое последний раз видел в аксесе 2.0, но не факт, что в последующих версиях что-то исправили. Хотя все пропатчить не помешает.

авторв отчете кассы 1 вылазит запись относящаяся к кассе 2 (номера касс взяты для примера) и она же вылазит в отчете по кассе 2, запись относящаяся к кассе 1 бесследно исчезает
Попробуй в этой записи идентификатор кассы руками проапдейтить на то же самое значение. Если слетел неуникальный индекс, то при обновлении записи произойдет переиндексация этой записи, и выборка должна будет вылечиться. Но это так... на случай если Repair делать некогда
...
Рейтинг: 0 / 0
26.02.2004, 12:58
    #32422308
Kot Bazilio
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Неправильно отрабатывает условие при отборе
Где-то месяц назад сделали почти полный апгрейд по сетевым картам (но на кассовых компах заменили все 6 штук). А недавно опять то же самое...

И в том то и бяка, что до repair записи с повторяющимися ключами не видны, а пытаются всплыть при восстановлении.

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

Но! Есть один общий симптом.

SELECT rd.id, rd.kas FROM rd WHERE kas=1 возвращает
100 1
105 1
...
208 1
а
SELECT rd.id, rd.kas FROM rd WHERE kas=2 возвращает
99 2
103 2
105 1
...
210 2
Вот там где влезает запись с единицей и есть сбой, и пропадает реальная запись от кассы №2.

Владимир Саныч, так что Вы там говорили насчет трейсинга?
...
Рейтинг: 0 / 0
26.02.2004, 13:03
    #32422317
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Неправильно отрабатывает условие при отборе
Вот ты эту запись ("105 1") как только найдешь - так сразу и апдейти (на те же самые "105 1")
Если выборка начнет правильно работать - значит индекс (по rd.kas) упал.
...
Рейтинг: 0 / 0
26.02.2004, 13:14
    #32422347
Неправильно отрабатывает условие при отборе
я повторяю:

в 97(!!!) пропадала куча записей по каскаду из-за слетевших индексов. Видел 1 раз. Восстанавливал из бекапа. Сопуствующее условие - сетевики что-то там в тот день мудрили с серверами, и не всех сразу выгнали. С тех пор ни разу не повторялось (именно такое разрушение). Хотя схема данных (в части именно этой каскадной связи) не менялась.

Не вредно провести не только репейр, но и полный импорт данных в другой файл. (пересоздать системные таблицы). Может там какой глюк затесался. Это бывает.

Но вообще-то ищи причину в сети.
...
Рейтинг: 0 / 0
26.02.2004, 13:16
    #32422349
Kot Bazilio
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Неправильно отрабатывает условие при отборе
Но почему упал? 5 лет не падал а тут западал.
И как отследить, ЧТО его валит? Касс 6 штук и закономерности нет, т.е. любая может перебивать любую.

Может размеры базы и структура? Сжатая 500-600 мег, а в ней только 2 таблицы - rd, которая валится, записей поменьше (900тыс), полей и индесов побольше (46полей/20индексов) и ar, побольше записей (6млн), но полей и индексов меньше (6/4)
...
Рейтинг: 0 / 0
26.02.2004, 13:21
    #32422362
Лифчик
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Неправильно отрабатывает условие при отборе
Ни хрена себе...А чего не архивируете-то?
...
Рейтинг: 0 / 0
26.02.2004, 13:25
    #32422368
Kot Bazilio
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Неправильно отрабатывает условие при отборе
Сейчас не об этом.

Вообще то будем перетаскивать все на MS SQL, но это будет месяца через 3. Дожить бы...
...
Рейтинг: 0 / 0
26.02.2004, 13:31
    #32422387
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Неправильно отрабатывает условие при отборе
авторМожет размеры базы и структура? Сжатая 500-600 мег, а в ней только 2 таблицы - rd, которая валится, записей поменьше (900тыс), полей и индесов побольше (46полей/20индексов) и ar, побольше записей (6млн), но полей и индексов меньше (6/4)
Ну вот у меня примерно на тех же размерах такие же беды и приключались.
Плохо аксесовским индексам становится в таких базах.
А причины... причины любые. Если от рабочего места независит - ищи ближе к серверу. Свичи, диски, SCSI-контроллеры и прочее.
...
Рейтинг: 0 / 0
26.02.2004, 13:34
    #32422396
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Неправильно отрабатывает условие при отборе
Архивируй данные, иначе до MS SQL можешь не дожить :)
Насколько я помню, процедура восстановления/сжатия таких баз занимает по нескольку часов. Собственно поэтому и стали аварийно записи лечить (апдейтом взглюкнувшего индексированного поля), ибо не всегда было возможно работу фирмы на пару часов стопить.
...
Рейтинг: 0 / 0
26.02.2004, 13:40
    #32422418
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Неправильно отрабатывает условие при отборе
авторВладимир Саныч, так что Вы там говорили насчет трейсинга?
Мы говорили, что задача архисложная.
...
Рейтинг: 0 / 0
26.02.2004, 14:01
    #32422477
Kot Bazilio
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Неправильно отрабатывает условие при отборе
Прости, Владимир Саныч. я как-то не усек что ты 1 а не 2. Это меня двое (Kot и Bazilio). Но все равно скажи, что нибудь про архисложное, а я постараюсь понять.
...
Рейтинг: 0 / 0
26.02.2004, 14:04
    #32422487
Лифчик
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Неправильно отрабатывает условие при отборе
Кот Базилио: так к тебе на Вы надо?
...
Рейтинг: 0 / 0
26.02.2004, 14:06
    #32422490
Kot Bazilio
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Неправильно отрабатывает условие при отборе
Да, Лох Позорный, времени много уходит, но в 40 мин. укладываюсь. Тренировка!
...
Рейтинг: 0 / 0
26.02.2004, 14:08
    #32422494
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Неправильно отрабатывает условие при отборе
Котики, миленькие, оба! Так я ведь говорю (хором и на два голоса), что у меня никаких идей нет. Я не знаю, как следить за всей базой сразу.

Были бы в Аксессе триггеры - можно было бы хотя бы поймать, в котором часу поменялись данные. А так даже это не получится.
...
Рейтинг: 0 / 0
26.02.2004, 14:09
    #32422503
Kot Bazilio
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Неправильно отрабатывает условие при отборе
Нет, Лифчик, не надо, хоть меня и двое, но лицо одно.:)

А свежие мысли есть?
...
Рейтинг: 0 / 0
26.02.2004, 14:14
    #32422522
Kot Bazilio
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Неправильно отрабатывает условие при отборе
Тогда всем спасибо, на сегодня пока.

Владимир Саныч, я знаю, когда поменялись данные (фиксируется в поле по Now()), но не знаю почему они не правильно поменялись.
...
Рейтинг: 0 / 0
26.02.2004, 14:22
    #32422552
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Неправильно отрабатывает условие при отборе
Но по этому Now можно определить, в каком месте программы это произошло?

А может, там было еще одно обновление, которое никаким Now не сопровождалось?
...
Рейтинг: 0 / 0
26.02.2004, 14:23
    #32422555
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Неправильно отрабатывает условие при отборе
2 Kot Bazilio
У тебя беды начались в какой-то (не очень) определенный момент? Ну вот и пытайся выяснить - что же произошло.
У меня падения баз вообще и падения индексов в частности случались из-за глючного свича, из-за глючного сервака, из-за глючного железа на рабочей станции, из-за того, что на клиентских машинах ставили виндоус 2000, из-за недонастроенного терминального сервера, из-за разных сервиспаков к офису на разных машинах, да и хрен упомнишь из-за чего еще.

авторвремени много уходит, но в 40 мин. укладываюсь. Тренировка!
Да уж... Воистину тренировка.
Правда у меня хоть записей было и поменьше, но индексов побольше. Видими из-за этого дольше восстанавливалось. Да и давно это было, машинки тогда слабее были. И трава зеленее.
...
Рейтинг: 0 / 0
26.02.2004, 14:39
    #32422601
Kot Bazilio
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Неправильно отрабатывает условие при отборе
Владимир Саныч
Конечно, было такое обновление (добавление), которое Now не сопровождалось! Вот оно то как раз в базу и не попадало.

Лох Позорный
Да, вспоминается такой момент, я уже о нем думал. Где-то полгода назад я разрезал базу и поместил в отдельную базу две вышеуказанные самые большие таблицы (связанные 1 ко многим). До того ТАКИХ сбоев точно не было, а вот когда точно началась эта херня - точно не помню. Но сегодня же сделаю импорт этих таблиц.
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Неправильно отрабатывает условие при отборе / 23 сообщений из 23, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]