Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Проблема с Exception в TOracleScript (doa) / 12 сообщений из 12, страница 1 из 1
03.06.2003, 00:05:49
    #32174660
Meson
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с Exception в TOracleScript (doa)
Приветствую!

У кого есть опыт использование компонента TOracleScript из пакета doa (Direct Oracle Access)?

Проблема состоит в том, что компонент вообще не генерирует Exception.
В OracleMonitor сообщение об ошибке регистрируется вполне исправно,
а компонент TOracleScript ведет себя так, будто ни чего не произошло.
...
Рейтинг: 0 / 0
03.06.2003, 00:13:59
    #32174663
Проблема с Exception в TOracleScript (doa)
Завтра на mns3006@mns.ru
Уверен, не проблема!
...
Рейтинг: 0 / 0
03.06.2003, 00:15:43
    #32174664
Проблема с Exception в TOracleScript (doa)
Вру!!!!!!!!!!!!!!!!!!!!!
mns3006@nalog.ru
...
Рейтинг: 0 / 0
03.06.2003, 23:09:14
    #32175714
Meson
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с Exception в TOracleScript (doa)
Так какие будут мнения?
Может ли кто-нибудь поделиться решениями?
...
Рейтинг: 0 / 0
03.06.2003, 23:13:20
    #32175716
Divan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с Exception в TOracleScript (doa)
У него есть свойство, что то типа выдавать сообщение по ошибке или нет.
Так вот, если оно стоит в false то TOracleScript ничего и не скажет

А вообще я пользовал класс исключений оракл, с ним удобнее.
...
Рейтинг: 0 / 0
04.06.2003, 01:18:13
    #32175736
Meson
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с Exception в TOracleScript (doa)
Divan > У него есть свойство, что то типа выдавать сообщение по ошибке или нет.
OutputOptions[ooError] ?
Не совсем так (я его тоже сперва заподозрил).
Это свойство управляет тем, какую информацию следует выводить в выходной поток.
Exception не генерируется независимо от установки этого свойства.

Divan > А вообще я пользовал класс исключений оракл
Использовал для обработки исключений в TOracleScript ?
Это именно то, что мне нужно! Если не влом, можно подробности ?
...
Рейтинг: 0 / 0
04.06.2003, 06:10:13
    #32175769
Divan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с Exception в TOracleScript (doa)
Вообщем вчера под рукой не было, а вот сейчас открываю и смотрю....

1. у TOracleScript есть такое свойство ExitOnError, так вот, если оно стоит в false, скрипт TOracleScript при генерации ошибки ничего не выдаст

2. вот тебе небольшой кусочек кода

try
OracleDataSet1.Open;
except
on E: EOracleError do begin
ShowMessage(IntToSTR(E.ErrorCode));
end;

вообщем тут все понятно.
Таким образом можно отлавливать ошибки практически в любом месте, и разбирать ее как тебе угодно ( вытащить код, описание... и т.п.)
...
Рейтинг: 0 / 0
04.06.2003, 10:31:07
    #32175912
Александр Б
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с Exception в TOracleScript (doa)
Declaration

property ExitOnError: Boolean;

Description

If this property is set to True, script execution will stop whenever a SQL command fails. If this property is set to False, the error message will be written to the output (if the OutputOptions are set accordingly), and execution will continue with the next command.
...
Рейтинг: 0 / 0
05.06.2003, 01:18:41
    #32176899
Meson
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с Exception в TOracleScript (doa)
>Divan у TOracleScript есть свойство ExitOnError, если оно стоит в false, скрипт TOracleScript при генерации ошибки ничего не выдаст

Это правильно, но только отчасти. Ошибка (точнее Exception) при исполнении скритпа не генерируется. Свойство ExitOnError отвечает на вопрос нужно ли продолжать выполнение скрипта после ошибочной команды. А будет ли описание ошибки выдано в property Output: TStrings зависит от OutputOptions[ooError] . Впрочем я повторяюсь...

>Divan вот тебе небольшой кусочек кода
try
OracleDataSet1.Open;
except

Абсолютно согласен. Но речь идет не о TOracleDataSet (с ним все ясно), а о TOracleScript.

Попробуй вот этот код (надеюсь таблицы 'MESON' у тебя нет!):
Код: plaintext
1.
2.
3.
4.
5.
  OracleScript1.Lines.Add('delete from MESON where PROBLEM_Id=1');
  try
     OracleScript1.Execute;
  except
     ShowMessage('Это сообщение об ошибке не появится');
  end;


>Александр Б
Надеюсь я не сильно наврал в своем вольном переводе ?

Складывается впечатление, что придется писать наследника от TOracleScript который по событию OnError будет генерировать этот самый Exception.
Или может кто-нибудь это уже сделал ?
...
Рейтинг: 0 / 0
05.06.2003, 07:51:13
    #32176934
eNose
Участник
[не активирован]
[не одобрен]
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с Exception в TOracleScript (doa)
Там не в TRY...EXCEPT заворачивать надо. Он exception не генерирует!!!

У TOracleScript есть event OnError - вот с ним и надо работать.
...
Рейтинг: 0 / 0
05.06.2003, 22:19:04
    #32177954
Meson
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с Exception в TOracleScript (doa)
>eNose ... event OnError - вот с ним и надо работать
К этому OnError я уже присматриваюсь. На мой взгляд работать с ним непосредственно в формах неудобно. Обрастает кучей непринципиальных довесков - глобальные переменные, обработчики событий, очистка до запуска скрипта, проверки после...
Как-то не вяжется с общей концепцией применения пакета.

Неужели ни где нет продуманного наследника? А?

Спрошу иначе:

Код: plaintext
1.
КТО  ВСТРЕЧАЛ  НАСЛЕДНИКА  ОТ  TOracleScript,  УМЕЮЩЕГО   ГЕНЕРИРОВАТЬ  Exception ?
...
Рейтинг: 0 / 0
06.06.2003, 07:51:07
    #32178010
eNose
Участник
[не активирован]
[не одобрен]
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с Exception в TOracleScript (doa)
В OnError пропиши генерацию Exception.
А затем будет try ... except работать.
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Проблема с Exception в TOracleScript (doa) / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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