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

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

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

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

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

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

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

авторв отчете кассы 1 вылазит запись относящаяся к кассе 2 (номера касс взяты для примера) и она же вылазит в отчете по кассе 2, запись относящаяся к кассе 1 бесследно исчезает
Попробуй в этой записи идентификатор кассы руками проапдейтить на то же самое значение. Если слетел неуникальный индекс, то при обновлении записи произойдет переиндексация этой записи, и выборка должна будет вылечиться. Но это так... на случай если Repair делать некогда
...
Рейтинг: 0 / 0
Неправильно отрабатывает условие при отборе
    #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
Неправильно отрабатывает условие при отборе
    #32422317
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот ты эту запись ("105 1") как только найдешь - так сразу и апдейти (на те же самые "105 1")
Если выборка начнет правильно работать - значит индекс (по rd.kas) упал.
...
Рейтинг: 0 / 0
Неправильно отрабатывает условие при отборе
    #32422347
я повторяю:

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

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

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

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

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

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

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

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

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

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

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


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