Что нового

Вылет скрипта AutoIt при попытке соединения с MySQL сервером

kasper_sky

Antivirus
Сообщения
116
Репутация
1
Доброго времени суток, форумчане.
Знаю, что уже давно не новичок в AutoIt`е, но не нашел более подходящей ветки.

Итак, суть обращения к вам: я использую UDF MySQL для подключения к базе данных. Все бы хорошо, но при попытке подключится к базе с заведомо некорректными логином/паролем скрипт просто вылетает с ошибкой
Код:
C:\Program Files\AutoIt3\Include\mysql.au3 (33) : ==> The requested action with this object has failed.:
$Objconn.open ("DRIVER=" & $sDriver & ";SERVER=" & $sServer & ";DATABASE=" & $sDatabase & ";UID=" & $sUsername & ";PWD=" & $sPassword & ";PORT="&$iPort)
$Objconn.open ("DRIVER=" & $sDriver & ";SERVER=" & $sServer & ";DATABASE=" & $sDatabase & ";UID=" & $sUsername & ";PWD=" & $sPassword & ";PORT="&$iPort)^ ERROR
и дело в том, что эту ошибку никак нельзя ни поймать, ни вычислить, ни проигнорировать, т.к. AutoIt даже не переходит к выполнению следующей строки и просто вываливается с ошибкой. При подключении с правильными логином/паролем скрипт работает нормально.
Знаю, что проблема в библиотеке mysql, а именно в этом объекте ($Objconn), но как решить ее не знаю.

Мне же нужно знать, был ли введен правильный либо неправильный логин/пароль и нужна стабильная работа скрипта.
Буду рад любому предложенному (и работающему) решению.
 

inververs

AutoIT Гуру
Сообщения
2,135
Репутация
465
1) Можно подключить обработчик ошибок COM, см справку к функции
Код:
ObjEvent ( "AutoIt.Error" [, "function"] )

2) Можно обернуть вызов метода в
Код:
Execute('$Objconn.open ("DRIVER=" & $sDriver & ";SERVER=" & $sServer & ";DATABASE=" & $sDatabase & ";UID=" & $sUsername & ";PWD=" & $sPassword & ";PORT="&$iPort)')

3) Можно вообще отказаться от объектов. Взять это
 
Верх