Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
А можно как-то проверить открыт ли объявленный курсор?
|
|||
|---|---|---|---|
|
#18+
А можно как-то проверить открыт ли объявленный курсор? z/OS, DB2 UDB for V8, CICS TS 3.2, Enterprise COBOL 3.4, статический SQL. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2008, 15:25 |
|
||
|
А можно как-то проверить открыт ли объявленный курсор?
|
|||
|---|---|---|---|
|
#18+
Наверное, можно сделать FETCH и поймать exception. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2008, 22:21 |
|
||
|
А можно как-то проверить открыт ли объявленный курсор?
|
|||
|---|---|---|---|
|
#18+
При этом изменится позиция курсора. Не подходит. :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2008, 23:56 |
|
||
|
А можно как-то проверить открыт ли объявленный курсор?
|
|||
|---|---|---|---|
|
#18+
Непонятно, откуда взялся такой вопрос. Как бы вы забыли, открыли ли курсор, и пытаетесь вспомнить. Обычно в программе этот факт известен. Далее - что вы будете делать, выяснив, открыт ли он? Используете этот факт в условном операторе, "если курсор открыт, тогда делай то, иначе делай это"? С exception'ами работают немного по-другому, выполняют "делай то", а "делай это" выполняют, если поймали exception. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2008, 06:51 |
|
||
|
А можно как-то проверить открыт ли объявленный курсор?
|
|||
|---|---|---|---|
|
#18+
Мне это нужно для такого конкретного случая: если возникает ошибка при работе с курсором, я хочу в обработчике ошибок попытаться курсор закрыть. При этом может случиться, что курсор не окрыт (например, он вообще не открылся), тогда я получаю ошибку в обработчике ошибок, что может вести к зацикливанию. Понятно, что при закрытии курсора может произойти и какая-то другая ошибка. В этом случае я делаю ABEND и пусть CICS сам разбирается с этим курсором. Но ситуацию с попыткой закрытия не открытого курсора хотелось бы отлавливать явно. P.S. В Коболе ситуация с exception'ами довольно напряжённая: нету там их. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2008, 13:31 |
|
||
|
А можно как-то проверить открыт ли объявленный курсор?
|
|||
|---|---|---|---|
|
#18+
Думаю, что аналоги этих RPG конструкций для Embeded SQL, в Коболе есть? C/EXEC SQL WHENEVER SQLERROR GOTO LERR C/END-EXEC C/EXEC SQL WHENEVER NOT FOUND GOTO LEOF C/END-EXEC даже если курсор не один, конкретное место в программе можно идентифицировать по переменной. Можно наверное и содержание SQLCA анализировать в обработчике ошибок, но насколько это окажется полезным, я не не уверен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2008, 14:49 |
|
||
|
А можно как-то проверить открыт ли объявленный курсор?
|
|||
|---|---|---|---|
|
#18+
C/EXEC SQL WHENEVER SQLERROR GOTO LERR C/END-EXEC C/EXEC SQL WHENEVER NOT FOUND GOTO LEOF C/END-EXEC Путём хитрых манипуляций я, конечно, могу "даже если курсор не один, конкретное место в программе можно идентифицировать по переменной". Но вернуться к тому месту в программе, где возникла ошибка, уже не смогу. А это не соответствует нашей "генеральной линии". Сейчас у меня это дело реализовано так: у меня есть две секции: close и tryClose. Первая закрывает курсор и при ошибке вызывает обработчик SQL-ошибок. Вторая закрывает курсор и игнорирует все ошибки. В обработчике SQL-ошибок вызывается tryClose. Но очень хотелось бы уметь отлавливать попытки закрыть неоткрытый курсор без вызова обработчика ошибок. Ну и глобально: Я знаю как можо реализовать мои задачи без проверки открыт ли курсор. Но по ряду не мной наложенных "краевых условий" эти задачи можно решить гораздо более проще, умея проверять открыт ли курсор. Поэтому мой вопрос сформулирован так: "А можно как-то проверить открыт ли объявленный курсор?", а не так "Как можно решить мои задачи без проверки открыт ли объявленный курсор?" Всем спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2008, 15:42 |
|
||
|
|

start [/forum/topic.php?fid=43&msg=35487450&tid=1603749]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
42ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
27ms |
get tp. blocked users: |
1ms |
| others: | 253ms |
| total: | 358ms |

| 0 / 0 |
