29.02.2016 08:36
УКМ_эксплуатант_2
 
Цитата:
vdm Таблицы этого конвертера наверняка MyISAM, т.е. commit/rollback им побоку, изменения фиксируются сразу. Возможно где-то проскакивает DELETE без условий.

Ошибка на имени поля return - а в обратные апострофы `return` заключить не помогает?
Как уже писал - 1С использует какой-то иной механизм работы с БД, а не прямые запросы (ну не доктор я в этом!!).
Провел некоторые эксперименты вместе одинэсниками - выяснили, что при изменении поля в таблице от 1С поступает сначала запрос на удаление записи, а потом на вставку. Вместо одного update.
И эти запросы (delete&insert) формируются автоматически...
Буду делать отдельную процедуру на поле этой таблицы...

В принципе - тему можно закрыть, так как продолжение темы не имеет никакого отношения к протоколированию...
29.02.2016 08:44
student
 
Цитата:
УКМ_эксплуатант_2 сначала запрос на удаление записи, а потом на вставку. Вместо одного update.
такое построение часто бывает правильным на больших объемах индексированных данных - скорость обработки выше ...
29.02.2016 09:13
Micle
 
Что если перевести базу на движок с поддержкой транзакций? Как я понимаю, проблема в этом...
29.02.2016 09:31
student
 
Цитата:
Micle Что если перевести базу на движок с поддержкой транзакций?
а разве мускул укм 4-го их не поддерживает ? (я просто реально не в курсе - с ним практически дела не имел...)
я проверял для себя на ms sql (поддержка транзакций в нем есть :)) - удаление и вставка быстрее одного апдейта на большом объеме индексированных данных
29.02.2016 10:43
Micle
 
Мускул поддерживает транзакции не на всех "видах" таблиц. Что будет быстрее, что медленнее утверждать не берусь. НО как понимаю, проблема с удалением вылезла именно из за отсутствия поддержки транзакций. При неудачно инсерте программа делает откат транзакции, чтобы восстановить удалённые данные. Скорее всего в Вашем случае используется MyISAM движок, в то время как для поддержки транзакций нужен InnoDB
02.03.2016 09:30
УКМ_эксплуатант_2
 
Базенка для Стандартного экспорта как раз не поддерживает транзакции - MyISAM.
Переводить на транзакционную (InnoBD) - ну на.
Да и проблема в совпадении имен полей с ключевыми словами плюс то, что 1С (скорее всего не 1С, а ODBC) не умеет умеет их экранировать апострофами.
02.03.2016 10:43
Micle
 
я кстати, не вижу никаких проблем чтобы из 1с обращаться в базу на прямую в обход ODBC... во всяком случае MsSQL в лёгкую у меня программисты данные читают/пишут
Часовой пояс GMT +3, время: 06:22.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.