Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Грамотно организовать транзакции... (Волшебная сила dbFailOnError) / 10 сообщений из 10, страница 1 из 1
24.11.2004, 12:18:49
    #32797649
Мудрый клён
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Грамотно организовать транзакции... (Волшебная сила dbFailOnError)
Господа, простите за назойловость, нет раз уже была затронута эта тема, но так
и никто толком непояснил.

Проблема такова:

1. DoCmd.RunSQL и DoCmd.OpenQuery - эти запросы опасные, поясняю:
допустим если я запускаю запрос на добавление, и он ловит ошибку в таких случаях когда он неможет добавить все записи (по различным причинам), он
запрашивает в диалоговом окне типа Игнорировать или нет - а это не есть хорошо. Если отключить вывод подобного сообщения то он вообще и неспросить и сделает свое игнорировав при этом те записи которые по какаим либо причинам не могут добавиться в Table.
2. CurrentDB.Execute - вообще не задает никаких вопросов, выполняя запрос игнорируе те записи которые не могут добавиться в Table.

3. Применять CurrentProject.Connection.Execute (то бишь через объекты ADO) - я этим только и пользуюсь, но он не любит заготовленные запросы.

Сам я решаю проблемы так, создаю Table временный туда закачиваю данные
через обычный DoCmd.RunSQL, только потом объявив транзакцию через CurrentProject.Connection.Execute запускаю групповую операцию. Неустраивает то, что данных может быть много, и базу
приходиться всё время сжимать после подобных операций.
...
Рейтинг: 0 / 0
24.11.2004, 12:31:05
    #32797688
Daf
Daf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Грамотно организовать транзакции... (Волшебная сила dbFailOnError)
Мне кажется что ты не туда роешь. Зачем запускать запрос, который не может (по различным причинам) добавить записи из-за ошибки данных?

А когда у тебя данные оказались во временной таблице, откуда уверенность, что там все записи (или они правильные)?
...
Рейтинг: 0 / 0
24.11.2004, 12:36:51
    #32797700
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Грамотно организовать транзакции... (Волшебная сила dbFailOnError)
Мудрый клён2. CurrentDB.Execute - вообще не задает никаких вопросов, выполняя запрос игнорируе те записи которые не могут добавиться в Table.
Слухай, дерево, ты справку умеешь читать?
CurrentDB.Execute "трампампам" , dbFailOnError

интересно, сколько сот раз я уже это сказал?
...
Рейтинг: 0 / 0
24.11.2004, 12:37:54
    #32797702
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Грамотно организовать транзакции... (Волшебная сила dbFailOnError)
при этом вообще непонятно - с какой радости транзакции в названии темы.
как переименовать?
...
Рейтинг: 0 / 0
24.11.2004, 12:48:30
    #32797742
Shuhard
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Грамотно организовать транзакции... (Волшебная сила dbFailOnError)
Лох Позорныйпри этом вообще непонятно - с какой радости транзакции в названии темы.
как переименовать?
переименуй в <<Волшебная сила dbFailOnError>>

сделано
ЛП
...
Рейтинг: 0 / 0
24.11.2004, 14:48:35
    #32798108
Мудрый клён
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Грамотно организовать транзакции... (Волшебная сила dbFailOnError)
DafМне кажется что ты не туда роешь. Зачем запускать запрос, который не может (по различным причинам) добавить записи из-за ошибки данных?
Дело в том что я произвожу импорт данных с Excelя в базу, я неуверен что всегда данные будут удовлетворять условиям.

Daf
А когда у тебя данные оказались во временной таблице, откуда уверенность, что там все записи (или они правильные)?
предварительно произвожу анализ.
...
Рейтинг: 0 / 0
24.11.2004, 14:55:25
    #32798130
Daf
Daf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Грамотно организовать транзакции... (Волшебная сила dbFailOnError)
Мудрый клёнДело в том что я произвожу импорт данных с Excelя в базу, я неуверен что всегда данные будут удовлетворять условиям.


А как ты импортируешь?
...
Рейтинг: 0 / 0
24.11.2004, 15:34:20
    #32798275
Мудрый клён
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Грамотно организовать транзакции... (Волшебная сила dbFailOnError)
Daf Мудрый клёнДело в том что я произвожу импорт данных с Excelя в базу, я неуверен что всегда данные будут удовлетворять условиям.


А как ты импортируешь?

1. связываю лист excel.
2. создаю временную таблицу (так как в дальнейшем удобно производить групповую операцию, объявив транзакцию).
3. закачиваю с помощью DoCmd.OpenQuery "запрос1".
4. спокойной душой объявив транзакцию начинаю закачивать в осн. Table и таблицы справочники, если какой нибудь зихер, то транзакция не завершается
и культурным образом ADО мне дает сообщение об ошибке.

Попытки:
на 2 этапе пробовал уже в временной таблице создавать уникальные индексы,
затем пробовать закачивать туда данные, чтобы лишний раз не производить анализ данных.
Но ДЫРА как и DoCmd.RunSQL так и DoCmd.OpenQuery при зихере выводит сообщение с возможностью игнорировать ошибочные записи.
Получается что если глупый юзер нажимает на кнопку Да, то добавятся только часть данных (не зихерные).

Поэтому господа я запрашивал у Вас как избежать таких проблем.
...
Рейтинг: 0 / 0
24.11.2004, 15:38:13
    #32798291
Мудрый клён
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Грамотно организовать транзакции... (Волшебная сила dbFailOnError)
использовать CurrentDB.Execute, то коннекшн получается не текущий а к Excelю.
Конечно буду следовать вашим советам,
проэксперементирую на CurrentDB.Execute, только не CurrentDB, а Connect на Excel.
...
Рейтинг: 0 / 0
24.11.2004, 15:43:05
    #32798309
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Грамотно организовать транзакции... (Волшебная сила dbFailOnError)
Я добавил вопрос 33:
http://www.sql.ru/faq/faq_topic.aspx?fid=213
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Грамотно организовать транзакции... (Волшебная сила dbFailOnError) / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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