powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Подключение через ODBC - неверный пароль
4 сообщений из 4, страница 1 из 1
Подключение через ODBC - неверный пароль
    #33744191
Фотография FM32YO aka KID
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Имеем: форма, для ввода логина и пароля при коннекте в серверу БД
В случае неверного ввода юзером логина или пароля получаем сообщение об ошибке: 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
Подключение через ODBC - неверный пароль
    #33744197
Фотография FM32YO aka KID
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
'password autentication failed ' - сделал опечатку, на самом деле
'password authentication failed'
Это поправка к первому посту
...
Рейтинг: 0 / 0
Подключение через ODBC - неверный пароль
    #33744501
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FM32YO aka KID1 - почему же не срабатывают первые 2 варианта?
Потому и не сработал, что ошибся в написании текста. Именно поэтому все подобные проверки сомнительны. Слишком легко ошибиться. Более корректно делать проверку по номеру ошибки.

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

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


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