Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Обработка ошибок возвращаемых СУБД Oracle [D7]


Страницы:   1 2

ASBir ©   (2006-07-11 12:56:00) 

Доброе время суток. Подскажите как обработть ошибки возращаемые СУБД чтобы приложение при получении той или иной ошибки выдало ее в форме понятной пользователю. Наприме "Неверный пароль" и т.п.


ASBir   (2006-07-15 18:21:00) [1]


> Дело в том, что на машине может быть установлено несколько
> клиентов и программа может использовать клиента по умолчанию

Клиент один... установлен и настроен точно так же как и на моей машине... вплоть до путей установки


evvcom   (2006-07-13 09:13:00) [2]

Через ADO с ораклом не пробовал, не знаю где, но, возможно, неверно настроено использование OraHome в программе. Дело в том, что на машине может быть установлено несколько клиентов и программа может использовать клиента по умолчанию, а может выбрать конкретного клиента. Как это реализовано в ADO я не знаю.


ASBir   (2006-07-13 08:58:00) [3]

спасибо за помощь.... ошибки отработал.... тепрь другая проблема вылезла.... ехе`шник на машине где я его собирал запускается.. подключается к базе и позволяет работать с данными... но при запуске на другой машине при попыте подключиться к БД выдается сообщение
"Не найден клиент Oracle и сетевые компоненты. Компоненты предоставляются корпарацией Oracle и входят в клиентское программное обеспечение Oracle версии 7.3.3 или более поздней. Невозможно использовать данного поставщика, пока не будут установлены эти компоненты."

на машине установлен клиент оракла 9i и через SQLPlus я запросто цепляюсь к БД.

Подскажите плз... в чем может быть проблема...


evvcom   (2006-07-13 08:28:00) [4]

> [19] ASBir   (11.07.06 16:37)

значит ему так надо, ему пофиг эта задача. Не напрягайся, и все пройдет.


umbra   (2006-07-11 18:58:00) [5]

как написано в справкепо ADOConnection.Connected, никакого исключения при неудачной попытке подключения не возникает. Просто Connectedостается равно false.


Virgo_Style   (2006-07-11 18:46:00) [6]

ASBir   (11.07.06 17:33) [20]

Такое ощущение, что следует перечитать [9]. Интуитивное, правда.


ASBir   (2006-07-11 17:33:00) [7]

народ после ADOConnection1.Connected:=true; какое событие возникает? такое ощущение что ошибка от субд выводится до того момента как она обрабатывается в выше приведенном коде


ASBir   (2006-07-11 16:37:00) [8]


> Тогда надо нанять программиста.

шеф на это не пойдет


Плохиш   (2006-07-11 16:30:00) [9]


> ASBir   (11.07.06 16:26) [17]

Тогда надо нанять программиста.


ASBir   (2006-07-11 16:26:00) [10]


>  Пиши на известном тебе языке программирования.

в том то все и дело... что крайний раз с программированием я сталкивался в 96-м еще в школе 8-)


Плохиш   (2006-07-11 16:20:00) [11]


> ASBir   (11.07.06 16:15) [14]
>
> >  сравнивай только ORA-XXXXX
>
> каким образом можно сравнить только часть текста?

If Pos('xxx', 'aaabbbxxxrrryyyjjj') > 0 then ...

PS. Пора книжку-какую прикупить.

> ASBir   (11.07.06 16:10) [11]
> извините... с Delphi я столкнулся совсем не давно...

Это не извинение :@ Пиши на известном тебе языке программирования.


ASBir   (2006-07-11 16:16:00) [12]


> Просто запусти скомпилированный exe'шник...Когда Дельфи
> уже непричём..

запускал не работает... ну в смысле сообщения дает не по-русски


ASBir   (2006-07-11 16:15:00) [13]


>  сравнивай только ORA-XXXXX

каким образом можно сравнить только часть текста?


Johnmen   (2006-07-11 16:14:00) [14]


> ???


Просто запусти скомпилированный exe'шник...Когда Дельфи уже непричём...


Desdechado   (2006-07-11 16:12:00) [15]

> if e.Message='ORA-12560: TNS:protokol adapter error.' then
Еще раз говорю - сделай на понятном юзеру языке.
И, как следствие, твое точное сравнение может не пройти, поэтому сравнивай только ORA-XXXXX


ASBir   (2006-07-11 16:10:00) [16]

извините... с Delphi я столкнулся совсем не давно...


ASBir   (2006-07-11 16:09:00) [17]


> Это потому, что под IDE пускаешь....:)

???


Johnmen   (2006-07-11 16:07:00) [18]


> данный код не срабатывает... на экран выводится стандартные
> коды ошибок... которые перечислены в коде


Это потому, что под IDE пускаешь....:)


ASBir   (2006-07-11 16:06:00) [19]


> Там понятным языком пользователю говорится, что оно отсутствует

ну что вы так накинулись... не работал я раньше с ораклом конкретно и с субд вобще... потому могу и не знать некоторых нюансов...  может кто подскажет почему не обрабатываются ошибки в этом коде... где косяк?

ADOConnection1.ConnectionString:='Provider=MSDAORA.1;Password='+Passw.Text+';User ID='+User.Text+';Data Source='+Stroka.Text+';Persist Security Info=True';
 try      
 ADOConnection1.Connected:=true;    
 except    
 On e : EDataBaseError do
 begin
 if e.Message='ORA-12560: TNS:protokol adapter error.' then
 ShowMessage('Мое сообщениеî');
 if e.Message='ORA-12154: TNS:could not resolve service name.' then
 ShowMessage('Мое сообщение');
 if e.Message='ORA-01017: invalid username/password; logon denied.' then
 ShowMessage('Мое сообщениеî');
 end;    
 end;

данный код не срабатывает... на экран выводится стандартные коды ошибок... которые перечислены в коде


Desdechado   (2006-07-11 15:55:00) [20]

> при отсутствии подключения к серверу
Там понятным языком пользователю говорится, что оно отсутствует.


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо