Развернул уже MySQL-server и на ПК, где работаю в Lazarus (Rosa OS R10), и пытался подключиться локально на нём.
VAR:
- Код: Выделить всё
- fSQLQuery: TSQLQuery;
 fSQLTransaction: TSQLTransaction;
 fMySQLConnection: TConnectionName;
- Код: Выделить всё
- constructor TESSQLMySQL.Create;
 begin
 fSQLQuery := TSQLQuery.Create(nil);
 fSQLTransaction := TSQLTransaction.Create(nil);
 fMySQLConnection := TConnectionName.Create(nil);
 fMySQLConnection.Transaction := fSQLTransaction;
 fSQLTransaction.DataBase := fMySQLConnection;
 fSQLQuery.DataBase := fMySQLConnection;
 fSQLQuery.Transaction := fSQLTransaction;
 //fSQLQuery.Close;
 fSQLQuery.ParseSQL:= false;
 fSQLQuery.ReadOnly:= False;
 fSQLQuery.UpdateMode:= upWhereAll;
 FOnError:= nil;
 end;
- Код: Выделить всё
- function TESSQLMySQL.ConnectDB(aserver, adb, alogin, apass: string;
 CreateIfNot: boolean): boolean;
 begin
 fMySQLConnection.HostName := aserver;
 fMySQLConnection.UserName := alogin;
 fMySQLConnection.Password := apass;
 fMySQLConnection.DatabaseName := adb;
 try
 if not fMySQLConnection.Connected then
 fMySQLConnection.Open; // Тут возникает ошибка
 if not fSQLTransaction.Active then fSQLTransaction.Active := true;
 ExecAnySQL('SET NAMES utf8 COLLATE utf8_general_ci');
 ExecAnySQL('SET CHARACTER SET utf8');
 ExecAnySQL('SET SESSION collation_connection = utf8_general_ci');
 fMySQLConnection.KeepConnection := true;
 Result:= true;
 except
 FreeObj;
 Result:= false;
 end;
 end;
Ошибка на строке: fMySQLConnection.Open;
При этом в терминале я подключаюсь без проблем. Доступ и привелегии у пользователя БД - максимальные и "%".
Помогите... Не вижу, где ошибка...





