|
ASA , open client, cursor
|
|||
---|---|---|---|
#18+
Добрый день всем и заранее спасибо :) В процедуре по извлечению DDL из репсервера ипользуется курсор. Open client / ASE 15.02 всё работает. Попытался перенести эту процедуру на ASA 11.0.0.1264 (embedded RSSD) и курсоры перестали работать. Выяснил , что как только встречается Update или Insert, то курсор прекращает обрабатыватся. В моём случае (см. ниже) обрабатывается только одна строка. Пока предполагаю , что не всё работает под Open Client в ASA ? Планирую проверить под ODBC.... , хотя мне очень не хотелось бы использовать ODBC Буду также благодарен, если кто нибудь посоветует проверенную процедуру для извлечения DDL из embedded RSSD Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39.
... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2012, 13:32 |
|
ASA , open client, cursor
|
|||
---|---|---|---|
#18+
Сергей08Пока предполагаю , что не всё работает под Open Client в ASA ? Да. OC это интерфейс ASE и под SA его почти портировали. Хотя в приведеном коде я не вижу OC вообще. Вижу только кусок хранимой процедуры написанной на Transact SQL. Который тоже не является родным для SA... Сергей08Планирую проверить под ODBC.... , хотя мне очень не хотелось бы использовать ODBCЗря не хочется. ODBC для SA очень даже надежно работает, за полтора десятка лет оно у меня ни разу не глючило. Сергей08Выяснил , что как только встречается Update или Insert, то курсор прекращает обрабатыватся. В моём случае (см. ниже) обрабатывается только одна строка.Ты обновляешь ту-же таблицу на которой построен курсор, при этом курсор объявлен как read only. Да все это еще и на локальной временной таблице... ммм.... С описываемым глюком я еще не сталкивался, но я и не использую TSQL в SA... Перепеши процедуру на WatcomSQL и станет легче жить. (хотя потом привыкнув к WSQL будешь плеваться от TSQL, но это нормально). Сергей08Буду также благодарен, если кто нибудь посоветует проверенную процедуру для извлечения DDL из embedded RSSD Вообще, для извлечения DDL из SA есть специальная утилита, называется dbunload. Но она не работает на времянках естественно. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2012, 02:02 |
|
ASA , open client, cursor
|
|||
---|---|---|---|
#18+
Спасибо за исчерпывающий и быстрый ответ. Вроде понял где копать. Но на случай если не понял , то всё таки отвечу :) White OwlСергей08Пока предполагаю , что не всё работает под Open Client в ASA ? Да. OC это интерфейс ASE и под SA его почти портировали. Хотя в приведеном коде я не вижу OC вообще. Вижу только кусок хранимой процедуры написанной на Transact SQL. Который тоже не является родным для SA... Для запуска процедуры я ипользую утилиту isql, которая использует OC для конекта. White OwlСергей08Выяснил , что как только встречается Update или Insert, то курсор прекращает обрабатыватся. В моём случае (см. ниже) обрабатывается только одна строка.Ты обновляешь ту-же таблицу на которой построен курсор, при этом курсор объявлен как read only. Да все это еще и на локальной временной таблице... ммм.... С описываемым глюком я еще не сталкивался, но я и не использую TSQL в SA... Перепеши процедуру на WatcomSQL и станет легче жить. (хотя потом привыкнув к WSQL будешь плеваться от TSQL, но это нормально). Я пробовал создать ещё одну временную таблицу и по ней запускать курсор. Не помогло. Тупо обрывается ... SA используется только для системной базы репсервера. Хотя , сейчас, начал работать и с Sybase IQ и иам тоже SA используется! Наверное я таки обречён поближе познакомится с SA и WCOM White OwlСергей08Буду также благодарен, если кто нибудь посоветует проверенную процедуру для извлечения DDL из embedded RSSD Вообще, для извлечения DDL из SA есть специальная утилита, называется dbunload. Но она не работает на времянках естественно. Имеются ввиду не обьекты SA а обьекты репсервера. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2012, 10:55 |
|
ASA , open client, cursor
|
|||
---|---|---|---|
#18+
Сергей08, http://infocenter.sybase.com/help/topic/com.sybase.help.sqlanywhere.11.0.1/dbreference_en11/open-statement.html WITH HOLD clause .... ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2012, 15:22 |
|
ASA , open client, cursor
|
|||
---|---|---|---|
#18+
забыл парольСергей08, http://infocenter.sybase.com/help/topic/com.sybase.help.sqlanywhere.11.0.1/dbreference_en11/open-statement.html WITH HOLD clause .... Cпасибо !! Это оно. Особенно спасибо , что не потерял веру в Sybase А то как то совсем пошло. Бац и курсор на выход! ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2012, 16:27 |
|
ASA , open client, cursor
|
|||
---|---|---|---|
#18+
Сергей08Для запуска процедуры я ипользую утилиту isql, которая использует OC для конекта. Ну тогда глюков должно быть по минимуму. У OC-SA главная проблема это типы данных. OC следует тем же соглашениям по типам что используются в ASE, а они не всегда совпадают с SA. Но просто "запустить процедуру" должно проходить нормально. Сергей08SA используется только для системной базы репсервера. Хотя , сейчас, начал работать и с Sybase IQ и иам тоже SA используется! Наверное я таки обречён поближе познакомится с SA и WCOMВ IQ используется не SA вообще-то, а только парсер WatcomSQL. Но да, W-SQL знать надо, самый вкусный SQL диалект из всех которые я видел. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2012, 19:10 |
|
|
start [/forum/topic.php?fid=55&fpage=14&tid=2010102]: |
0ms |
get settings: |
12ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
44ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
2ms |
others: | 14ms |
total: | 154ms |
0 / 0 |