2 votes

Connecter mySQL à partir de Scala en utilisant le pilote JDBC

J'ai besoin de me connecter à la base de données mySQL à partir de mon code Scala. J'ai le code ci-dessous pour établir la connexion. J'importe les paquets Java pour me connecter à la base de données à partir de Scala et j'utilise le Drivermanager pour établir la connexion. J'ai écrit une classe et une méthode à l'intérieur de celle-ci pour établir la connexion et je l'étend et l'utilise à partir de mon objet.

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Date;

class DBConnectionClass {
  val user = "root"
  val pass = "admin"
  val url = "jdbc:mysql://172.16.40.5/scalatest"
  def readDataBase() = {
   try {
        Class.forName("com.mysql.jdbc.Driver")
        val connection: Connection = DriverManager.getConnection(url, user, pass);

   } 
   catch {
      case _: Throwable => println("Could not connect to database")
  } 

}

}

et dans mon objet scala en cours d'exécution, c'est,

 object TestAppMain {
 def main(args: Array[String]){
    val DBconnObject = new DBConnectionClass
    DBconnObject.readDataBase
    println("Check DB Is connected or not")
}
}

mais il lance une exception en disant qu'il n'a pas pu se connecter à la base de données... quelqu'un peut m'aider... merci d'avance.

2voto

duffymo Points 188155

Vous feriez mieux d'imprimer la trace de la pile au lieu de ce message. Ce dernier vous indique que quelque chose ne va pas ; le premier vous explique pourquoi.

Je ne peux que deviner sans savoir pourquoi, mais il se peut que le pilote JDBC JAR ne soit pas disponible, que le serveur ne soit pas visible depuis le client, que le MySQL Listener ne soit pas LISTENING sur le port 3306, ou qu'il y ait un firewall entre vous et le serveur qui ne vous permette pas d'y accéder.

Voulez-vous vraiment vous connecter en tant que Root ? Cela me semble dangereux et malavisé.

Suivez attentivement ce tutoriel et vous vous en sortirez.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X