Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Подключение через ODBC - неверный пароль / 4 сообщений из 4, страница 1 из 1
23.05.2006, 09:26
    #33744191
FM32YO aka KID
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подключение через ODBC - неверный пароль
Имеем: форма, для ввода логина и пароля при коннекте в серверу БД
В случае неверного ввода юзером логина или пароля получаем сообщение об ошибке: FATAL: password autentication failed for user 'fm32yo'
Хочется : отловить его и сменить на удобочитаемое

Отлавливаю таким образом:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
IF gnConnHandle <=  0 

    AERROR(laError) 
   = MESSAGEBOX('Облом!' + CHR( 13 ) + ;
	laError( 2 ) + CHR( 13 ) + laError( 3 ) + CHR( 13 ) + ;
	laError( 4 ) + CHR( 13 ) + STR(laError( 5 )) + CHR( 13 ) + STR(laError( 6 ));
		,  48 , 'Ошибка номер' + STR(laError( 1 )) )	

Почему-то думал, что, если разобрать laError(2) , в котором и есть фраза:
FATAL: password autentication failed for user 'Aki' , то все будет, как надо.. но, почему-то ни конструкция
Код: plaintext
1.
2.
IF 'password autentication failed ' $ LOWER(laError( 2 ))
   = MESSAGEBOX('Пароль или логин неверен')

На конструкция:
Код: plaintext
1.
2.
3.
4.
STORE laError( 2 ) TO cError

IF OCCURS('password autentication failed', cError) <>  0 
   = MESSAGEBOX('Пароль или логин неверен')

Не срабатывают

И, только вроде так выловил:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
IF gnConnHandle <=  0 
   
 AERROR(laError) 
  		
 IF laError( 5 ) =  113 
 	 = MESSAGEBOX('Пароль или логин неверен')
 
* 1 	Numeric. Contains  1526 .
* 2 	Character. The text of the error message.
* 3 	Character. The text of the ODBC error message.
* 4 	Character. The current ODBC SQL state.
* [b]5 	Numeric. The error number from the ODBC data source.[/b]
* 6 	Numeric. The ODBC connection handle.
* 7 	The null value.

ВОПРОСЫ:
1 - почему же не срабатывают первые 2 варианта?
2 - верно ли я ссылаюсь на ошибку 113, значит ли она то, что я тут предположил?

Буду благодарен за ответы
...
Рейтинг: 0 / 0
23.05.2006, 09:28
    #33744197
FM32YO aka KID
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подключение через ODBC - неверный пароль
'password autentication failed ' - сделал опечатку, на самом деле
'password authentication failed'
Это поправка к первому посту
...
Рейтинг: 0 / 0
23.05.2006, 10:55
    #33744501
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подключение через ODBC - неверный пароль
FM32YO aka KID1 - почему же не срабатывают первые 2 варианта?
Потому и не сработал, что ошибся в написании текста. Именно поэтому все подобные проверки сомнительны. Слишком легко ошибиться. Более корректно делать проверку по номеру ошибки.

FM32YO aka KID2 - верно ли я ссылаюсь на ошибку 113, значит ли она то, что я тут предположил?
Открой описание используемого сервера и посмотри его коды ошибок. Да, 5 элемента массива, возвращаемого по AERROR() должен содержать код ошибки самого сервера.
...
Рейтинг: 0 / 0
23.05.2006, 11:14
    #33744570
FM32YO aka KID
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подключение через ODBC - неверный пароль
Спасибо за ответ!!!

ВладимирМ FM32YO aka KID1 - почему же не срабатывают первые 2 варианта?
Потому и не сработал, что ошибся в написании текста. Именно поэтому все подобные проверки сомнительны. Слишком легко ошибиться. Более корректно делать проверку по номеру ошибки.


да нет не совсем так, я ведь пробовал и таким образом:

Код: plaintext
1.
2.
IF 'password' $ LOWER(laError( 2 ))
   = MESSAGEBOX('Пароль или логин неверен')

и
Код: plaintext
1.
2.
3.
4.
STORE laError( 2 ) TO cError

IF OCCURS('password autentication failed', cError) <>  0 
   = MESSAGEBOX('Пароль или логин неверен')

Уж в слове password я не ошибался
Но, конечно по номеру ошибки все будет наверняка...

Еще раз спасибо!!!
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Подключение через ODBC - неверный пароль / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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