J'ai un problème avec le code d'erreur "java.sql.SQLNonTransientConnectionException : Impossible de créer une connexion au serveur de base de données". J'essaie d'établir une connexion à une base de données à l'aide de JDBC et les informations d'identification sont correctement orthographiées. Pouvez-vous m'aider à vérifier les problèmes possibles dans ce projet ?
package com.example.daily.db; import android.os.Bundle; import androidx.appcompat.app.AppCompatActivity; import com.example.daily.R; import com.mysql.cj.protocol.Resultset; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.sql.Statement; public class controler extends AppCompatActivity { private controler controlador; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_tercera); controlador = new controler(); } public static void micontroler (){ String usuario = "root"; String password = "Prueb@1"; String url = "jdbc:mysql://localhost:3306/daily_db"; Connection conexion; Statement statement; Resultset rs; try { Class.forName("com.mysql.cj.jdbc.Driver"); } catch (ClassNotFoundException e) { throw new RuntimeException(e); } try { conexion = DriverManager.getConnection(url,usuario,password); statement = conexion.createStatement(); statement.executeUpdate("INSERT INTO USUARIOS(EMAIL,NOMBRES,APELLIDOS,APODO,FECHA_NACIMIENTO) VALUES ('Teste','TESTn','TESTa','TESTp','14/06/22')"); } catch (SQLException e) { throw new RuntimeException(e); } } }
J'ai vérifié la connexion, réécrit le code, ajouté le contrôleur au manifeste.
Idéalement, ce problème se produit lorsque la chaîne de connexion est erronée. Vous pouvez vérifier que la chaîne de connexion formée est au format correct.
La chaîne de connexion attendue pour la connexion mysql jdbc est la suivante,
Veuillez vous référer à https://dev.mysql.com/doc/connector-j/8.0/en/connector-j-reference-jdbc-url-format.html pour plus de détails sur les chaînes de connexion.
Assurez-vous également que la base de données est opérationnelle sur le port fourni dans le code, c'est-à-dire localhost:3306.