powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / sqlcode = 100 при успешном вызове оракловой процедуры
25 сообщений из 28, страница 1 из 2
sqlcode = 100 при успешном вызове оракловой процедуры
    #34924165
pb_new
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Выполняется оракловая процедура, имеющая один входной параметр. В результате ее деуствия в таблицутавляются строки.
DECLARE POpdate PROCEDURE FOR EntryPipelineOpdate (vopdate =>:opdate)
USING SQLCA;
EXECUTE POpdate;

Далее пытаюсь сделать проверку на успешность выполнения и при обращении к SQLCA.SQLCode получаю значение равным 100. Сама процедура выполнилась без ошибок.
...
Рейтинг: 0 / 0
sqlcode = 100 при успешном вызове оракловой процедуры
    #34924244
KOLCHOZ_POSTEVENT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ssqlcode 100
Это значит что курсор в вашей процедуре отстрелялся.
Фетч ничего поймал-то ли записи закончились,то-ли не начaлись.
...
Рейтинг: 0 / 0
sqlcode = 100 при успешном вызове оракловой процедуры
    #34924262
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PB Help0 Success.
100 Fetched row not found.
-1 Error ; the statement failed. Use SQLErrText or SQLDBCode to obtain the detail.
...
Рейтинг: 0 / 0
sqlcode = 100 при успешном вызове оракловой процедуры
    #34924331
pb_new
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
KOLCHOZ_POSTEVENTSsqlcode 100
Это значит что курсор в вашей процедуре отстрелялся.
Фетч ничего поймал-то ли записи закончились,то-ли не начaлись.

Процедура не использует курсоры. У нее также отсутствуют параметры типа out.
Процедура отрабатывает успешно.

Поясните, почему 100, а не 0?
...
Рейтинг: 0 / 0
sqlcode = 100 при успешном вызове оракловой процедуры
    #34924335
pb_new
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Марк, спасибо, но это мне известно.
...
Рейтинг: 0 / 0
sqlcode = 100 при успешном вызове оракловой процедуры
    #34924561
KOLCHOZ_POSTEVENT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А что я ещё могу добавить?
У меня компилятор не пропускает,то что у вас написано.
Палёная восьмёрка у меня.
Это пропускает,например.
Код: plaintext
1.
2.
3.
4.
string opdate
DECLARE POpdate PROCEDURE FOR EntryPipelineOpdate  :opdate
USING SQLCA;
EXECUTE POpdate;
А если объясните,что это в скобках
Код: plaintext
1.
(vopdate =>:opdate)
ставлю бутылку.
...
Рейтинг: 0 / 0
sqlcode = 100 при успешном вызове оракловой процедуры
    #34924637
PB_NEW
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
(vopdate =>:opdate) данный ситаксис приведен в хелпе.

А вот так возвращает 0

sql= "begin EntryPipelineOpdate (to_date('" + String(opdate) + "','dd.mm.yyyy')) ; end;"
EXECUTE IMMEDIATE :sql;
...
Рейтинг: 0 / 0
sqlcode = 100 при успешном вызове оракловой процедуры
    #34924650
pb_new
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
(vopdate =>:opdate) данный ситаксис приведен в хелпе для 9
...
Рейтинг: 0 / 0
sqlcode = 100 при успешном вызове оракловой процедуры
    #34924681
tru55
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pb_new(vopdate =>:opdate) данный ситаксис приведен в хелпе для 9

Вообще в Oracle используется два метода передачи параметров - позиционный (т.е. без имени параметра) и именованный (так, как приведено выше). А если использовать позиционный без EXECUTE IMMEDIATE ?
...
Рейтинг: 0 / 0
sqlcode = 100 при успешном вызове оракловой процедуры
    #34924789
pb_new
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А если использовать позиционный без EXECUTE IMMEDIATE ?

100
...
Рейтинг: 0 / 0
sqlcode = 100 при успешном вызове оракловой процедуры
    #34925201
Oleg1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Уже даже help процитировали, 100 -- это не ошибка.
Возникает, если update или delete в SP не обработал ни одной строки.
...
Рейтинг: 0 / 0
sqlcode = 100 при успешном вызове оракловой процедуры
    #34925227
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Забейте и считайте 0 и 100 успешными кодами для процедур (все равно для процедур код 100 невозможен).
Для функций же 100 - ошибка: лишний fetch результата функции
...
Рейтинг: 0 / 0
sqlcode = 100 при успешном вызове оракловой процедуры
    #34925233
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Oleg1Уже даже help процитировали, 100 -- это не ошибка.
Возникает, если update или delete в SP не обработал ни одной строки.
100 возникает даже если тело процедуры пустое.
...
Рейтинг: 0 / 0
sqlcode = 100 при успешном вызове оракловой процедуры
    #34925273
pb_new
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Anatoly MoskovskyЗабейте и считайте 0 и 100 успешными кодами для процедур (все равно для процедур код 100 невозможен).
Для функций же 100 - ошибка: лишний fetch результата функции
ок
...
Рейтинг: 0 / 0
sqlcode = 100 при успешном вызове оракловой процедуры
    #34942089
Геннадич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
sqlcode = 100 при успешном вызове оракловой процедуры
    #34949199
DRod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Скорее всего это из-за того, что процедура ничего не возвращает. Попробуйте сделать в процедуре return(...). Тогда будет sqlcode = 0.
...
Рейтинг: 0 / 0
sqlcode = 100 при успешном вызове оракловой процедуры
    #34949347
tru55
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DRodСкорее всего это из-за того, что процедура ничего не возвращает. Попробуйте сделать в процедуре return(...). Тогда будет sqlcode = 0.

В процедуре может быть только "голый" RETURN, т.е. БЕЗ возвращаемого значения :)
...
Рейтинг: 0 / 0
sqlcode = 100 при успешном вызове оракловой процедуры
    #34950088
ytrewq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добавьте в качестве возвращаемых параметров Код возвращаемой ошибки и Текст ошибки. Заполнение этих полей должно быть в процедуре. Иначе смысла выполнения процедуры нет. У Вас может произойти на сервере все что угодно, Вы же ничего не контролируете.
Мы используем такие 2 параметра как стандарт при вызове любой процедуры.
С уважением, ytrewq.
...
Рейтинг: 0 / 0
sqlcode = 100 при успешном вызове оракловой процедуры
    #34950122
Oleg1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ytrewqДобавьте в качестве возвращаемых параметров Код возвращаемой ошибки и Текст ошибки. Заполнение этих полей должно быть в процедуре. Иначе смысла выполнения процедуры нет. У Вас может произойти на сервере все что угодно, Вы же ничего не контролируете.Это как это?! Процедура или выполняется, или нет.

ytrewqМы используем такие 2 параметра как стандарт при вызове любой процедуры.
С уважением, ytrewq.В большистве случаев это излишество.
...
Рейтинг: 0 / 0
sqlcode = 100 при успешном вызове оракловой процедуры
    #34950780
ytrewq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Может быть, и так.
Однако, выполняя на сервере что-либо, желательно иметь подробную информацию, завершилось ли оно так, как надо. Все-таки по отношению к клиенту сервер - это внешнее приложение и не лишне проконтролировать, что там все действия завершились благополучно.
С уважением, ytrewq.
...
Рейтинг: 0 / 0
sqlcode = 100 при успешном вызове оракловой процедуры
    #34950885
tru55
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ytrewqМожет быть, и так.
Однако, выполняя на сервере что-либо, желательно иметь подробную информацию, завершилось ли оно так, как надо. Все-таки по отношению к клиенту сервер - это внешнее приложение и не лишне проконтролировать, что там все действия завершились благополучно.
С уважением, ytrewq.

Если действия процедуры вызвали ошибку и она не обработана внутри, ошибка распространяется во внешнюю среду. Если мы хотим трактовать некоторые действия как ошибку, мы можем генерить пользовательское исключение. Так что контроль работы процедуры происходит в любом случае.

Другое дело, что кому как нравится - обрабатывать ошибку сразу на сервере или на клиенте...
...
Рейтинг: 0 / 0
sqlcode = 100 при успешном вызове оракловой процедуры
    #34950907
Фотография spas2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Правильно, код и должен быть 100 при нормальной работе процедуры
Она же не возвращает никаких данных, а 100 и означает, что исполнено, но не возвращено никаких данных
Как вариант - обернуть процедуру в функцию
-----------------------------------------------------------------------------
Главная деталь любой машины - голова ее владельца
...
Рейтинг: 0 / 0
sqlcode = 100 при успешном вызове оракловой процедуры
    #34950922
Фотография spas2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, и еще
Судя по-постам, забывается одна простая вещь
Oracle != MS SQL
-----------------------------------------------------------------------------
Главная деталь любой машины - голова ее владельца
...
Рейтинг: 0 / 0
sqlcode = 100 при успешном вызове оракловой процедуры
    #34952856
DRod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tru55 DRodСкорее всего это из-за того, что процедура ничего не возвращает. Попробуйте сделать в процедуре return(...). Тогда будет sqlcode = 0.

В процедуре может быть только "голый" RETURN, т.е. БЕЗ возвращаемого значения :)

Пардон! Извиняюсь. Я имел в виду, что процедура ничегно не возвращает, т.е. пустой "ResultSet". Верните какой-нибудь результат и sqlcode будет равен нулю.
...
Рейтинг: 0 / 0
sqlcode = 100 при успешном вызове оракловой процедуры
    #34953946
qwaszx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
spas2001Правильно, код и должен быть 100 при нормальной работе процедуры

а как же этот случай
pb_newА вот так возвращает 0

sql= "begin EntryPipelineOpdate (to_date('" + String(opdate) + "','dd.mm.yyyy')) ; end;"
EXECUTE IMMEDIATE :sql;
...
Рейтинг: 0 / 0
25 сообщений из 28, страница 1 из 2
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / sqlcode = 100 при успешном вызове оракловой процедуры
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]