|
|
|
Как прочитать @@ERROR при обращении к заблокированной таблице
|
|||
|---|---|---|---|
|
#18+
При попытке SELECTа по заблокированной таблице при SET LOCK_TIMEOUT 0 процедура закрывается с сообщением "Lock request time out ...". Ошибка @@ERROR не перехватывается. Подскажите, в чем дело. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2002, 15:17:52 |
|
||
|
Как прочитать @@ERROR при обращении к заблокированной таблице
|
|||
|---|---|---|---|
|
#18+
Просто натыкание на блокировку - это одна из тех ошибок, которые прерывают текущую обработку батча. А в чем проблема-то? Исключение на клиенте поймать не можешь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2002, 15:49:47 |
|
||
|
Как прочитать @@ERROR при обращении к заблокированной таблице
|
|||
|---|---|---|---|
|
#18+
попробуй через sp_executesql.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2002, 15:59:07 |
|
||
|
Как прочитать @@ERROR при обращении к заблокированной таблице
|
|||
|---|---|---|---|
|
#18+
To Dankov Проблема в том, что внутри TSQL в конструкции: SELECT ... по заблокированной таблице IF @@ERROR <> 0 до "IF ..." даже дело не доходит, поэтому не удается обработать эту ситуацию своими средствами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2002, 16:07:14 |
|
||
|
Как прочитать @@ERROR при обращении к заблокированной таблице
|
|||
|---|---|---|---|
|
#18+
Не доходит. О том и толкую. Исключение на клиенте обрабатывай ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2002, 16:27:22 |
|
||
|
Как прочитать @@ERROR при обращении к заблокированной таблице
|
|||
|---|---|---|---|
|
#18+
или openquery.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2002, 17:38:26 |
|
||
|
Как прочитать @@ERROR при обращении к заблокированной таблице
|
|||
|---|---|---|---|
|
#18+
To Dankov Обрабатывать интересно именно внутри процедуры, не возвращаясь к клиенту. Неужели нет средств обработки внутри SP ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2002, 20:22:16 |
|
||
|
Как прочитать @@ERROR при обращении к заблокированной таблице
|
|||
|---|---|---|---|
|
#18+
ну блин... ты ж попробуй... OPENROWSET ( 'MSDASQL', 'DRIVER={SQL server}; SERVER=MySRV;UID=sa;PWD=MyPass' , 'Твой новый батч' } ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2002, 20:51:52 |
|
||
|
Как прочитать @@ERROR при обращении к заблокированной таблице
|
|||
|---|---|---|---|
|
#18+
to MiCe Предложенная Вами конструкция не сработала - " ... was unable to begin a distribution transaction" а потом, OPENROWSET предназначен все таки для доступа к внешним базам, здесь же я обращаюсь к своей таблице. Хотелось просто получить @@ERROR , принять решение и нормально выйти. SQL же просто выкидывает из процедуры и выдает свое "Lock request time out ...". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2002, 09:11:31 |
|
||
|
Как прочитать @@ERROR при обращении к заблокированной таблице
|
|||
|---|---|---|---|
|
#18+
А может поискать кто блокирует таблицу, добавить Hint (NOLOCK) ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2002, 09:26:25 |
|
||
|
|

start [/forum/topic.php?fid=46&tid=1818827]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
48ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
| others: | 199ms |
| total: | 338ms |

| 0 / 0 |
