Estou tendo o seguinte problema, preciso conectar a aplicação Java em um banco de dados MySQL que está hospedado na Hostgator. Na Hostgator já configurei o MySQL remoto e consigo acessá-lo através do MySQL Workbench e abri a porta 3306 no meu roteador.
Na aplicação Java inclui o driver MySQL e crie a classe de conexão, passando o endereço IP do servidor, nome do banco de dados, usuário e senha. Consigo gerar a conexão e ao realizar a consulta no banco sempre é retornado null.
Testei o mesmo código através do XAMPP e funcionou perfeitamente.
Olhei alguns post aqui no fórum referente a este tema, mas até o momento não consegui resolver o problema.
primeira coisa, veja se no painel da sua hospedagem, nao precisa liberar o IP que vai acessar o banco, caso precise, tem que liberar.
segunda coisa, geralmente o usuario da hospedagem nao acessa direto o banco, voce precisa criar um usuario so para essa base de dados.
terceiro, confirme a versao do banco de dados da hospedagem, se for a versao 8 tem uma diferenca na url do driver.
eu tenho um banco na integrator, que é acessado sem problema pelo heroku e outra base de dados que eu acesso da minha maquina para testes, e funciona numa boa. Uso spring-boot e nodejs
*O IP já está liberado no painel da hospedagem. Consigo acessar o banco do meu PC pelo MySQL Workbench.
*O usuário somente para acessar o banco de dados já foi criado é com este usuário que estou tentando acessar através do Java.
*A versão do MySQL no servidor da hospedagem é o 5.7.31. Estou utilizando a seguinte URL na classe de conexão: jdbc:mysql://ip-do-servidor:porta/banco-de-dados.
*No projeto inclui a biblioteca do driver JDBC do MySQL.
Se pelo Workbench esta tudo certo e sempre esta retornando null pelo Jdbc, supoe que esta parando no caminho.
Mas pode sim ser problema de versao do Jdbc.
Qual a versao do Java ?
Qual a versao do driver Jdbc ?
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.mmempresa, PID: 10917
java.lang.NoSuchMethodError: No static method metafactory(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite; in class Ljava/lang/invoke/LambdaMetafactory; or its super classes (declaration of ‘java.lang.invoke.LambdaMetafactory’ appears in /apex/com.android.runtime/javalib/core-oj.jar)