![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Обработка ошибок возвращаемых СУБД Oracle [D7]
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]> при отсутствии подключения к серверу
Там понятным языком пользователю говорится, что оно отсутствует.