![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Коды ошибок провайдера. [D7, MSSQL]
Bless © (2006-08-18 15:13:00)Где можно узнать перечень сабжей с текстовым описанием для SQL Server-а?
Может искать не умею, но поиск по MSDN ничего не дал.
sniknik (2006-08-18 16:07:00) [41]указываеш тип обновлений по ключу. а не всей записи (Properties['Update Criteria'].Value:= adCriteriaKey, можно в "афтеропен" например )... мало того что ошибки не будет так еще и быстрее работать будет.
Ega23 (2006-08-18 16:00:00) [42]
> Этот вариант в данном случае мне не подходит. Высокий Isolation
> Level приведет к ненужным блокировкам.
Тогда отдельную таблицу блокировок записей по разным клиентам.
Bless (2006-08-18 15:51:00) [43]
> Ega23 © (18.08.06 15:37) [4]
> Транзакцию с соответствующим Isolation Level выставлять
> надо. И не будет таких ошибок.
Этот вариант в данном случае мне не подходит. Высокий Isolation Level приведет к ненужным блокировкам.
Ega23 (2006-08-18 15:37:00) [44]
> Собственно говоря меня интересует, как отловить эту самую
> Row cannot be located for updating. Some values may have
> been changed since it was last read
Транзакцию с соответствующим Isolation Level выставлять надо. И не будет таких ошибок.
Bless (2006-08-18 15:35:00) [45]Собственно говоря меня интересует, как отловить эту самую
Row cannot be located for updating. Some values may have been changed since it was last read
Думаю приблизительно так
try
q.post
except
on E: EDataBaseError do begin
if q.connection.Errors.Count=1 then
if q.connection.Errors[0].NativeError=32 then ...//тут типа отловил
else raise;
end;
...
end;{try}
Но гнетут сомнения, а вдруг код 32 имеет еще какая-нибудь ошибка или на факт изменения записи в базе со времени моего запроса провайдер реагирует еще как-нибудь кромеRow cannot be located for updating. S
Bless (2006-08-18 15:28:00) [46]
> sniknik © (18.08.06 15:19) [1]
Это не подходит. Например, ошибкуRow cannot be located for updating. Some values may have been changed since it was last readгенерирует не sql-сервер, а провайдер, видимо.
sniknik (2006-08-18 15:19:00) [47]BOL -> xxx (error)
где xxx цифра или период.