|
ASA & exception & savepoint
|
|||
---|---|---|---|
#18+
Всем доброго дня, есть ASA 11.0.1.2596 Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.
Так вот в логе БД видим I. 04/29 12:12:20. usp_m_ma_put_news::Error 2013-04-29 12:12:20.158::Column 'text_headline' in table 'PIN_NEWS_TEXT' cannot be NULL а в логе приложения которое вызывает ЭТУ процедуру УЖЕ ДРУГОЕ сообщение SEVERE: Redaction::Err:Servlet:SQL java.sql.SQLException: SQL Anywhere Error -220: Savepoint 'current' not found Вопрос ... скорее всего rollback to savepoint порождает еще один exception!!! ПОЧЕМУ? и как все таки работать с savepoint Модератор: не забывай про кнопку SRC ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2013, 16:27 |
|
ASA & exception & savepoint
|
|||
---|---|---|---|
#18+
а так? Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2013, 22:26 |
|
ASA & exception & savepoint
|
|||
---|---|---|---|
#18+
Не помогло ... процедура вызывалась в режиме autocommit, убрали - не помогло пытались делать именованные savepoint - не помогло Что делать ? ... приведите пример использования savepoint ... release savepoint ... rollback savepoint !!! PS:Делали так как написано в документации - не помогает. PPS:может надо делать (внутри savepoint) begin atomic? PPPS:конечно можно послать все нах.... и вообще не использовать "длинные" транзакции ... правильный их откат и пр. но хотелось сделать красиво (правильно). ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2013, 11:59 |
|
ASA & exception & savepoint
|
|||
---|---|---|---|
#18+
Ура ... заработало Спасибо Марсель .... я сначала не обратил внимание на то что Вы добавили begin end "вокруг" savepoint Теперь проц. выглядит так (и вызов с отключенным автокоммитом) create or replace procedure DBA.usp_m_MA_Put_News( ) begin savepoint; begin --bla-bla-bla insert into dba.pin_news_text(text_headline, text_notice, text_value, text_len) values (@text_headline, @text_notice, @text_value, @text_len); --bla-bla-bla commit work; return 0; exception when others then message 'usp_m_ma_put_news::Error ' || string(getdate()) || '::' || errormsg() to console; rollback to savepoint; end; return -1; end; ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2013, 14:34 |
|
|
start [/forum/topic.php?fid=55&msg=38244145&tid=2009975]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
172ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
others: | 251ms |
total: | 522ms |
0 / 0 |