Se connecter à MariaDB à partir d'une application Java dans NetBeans sous Linux (Mageia)
Je suis en train d'essayer de se connecter à une base de données Mariadb grâce à une simple application java, mais la connexion est dit à l'échec et qu'une Exception est levée. J'ai fait la même connexion à l'aide de mysql et qu'il fonctionnait correctement. Le problème est peut-être avec le pilote ici.
try{
Class.forName("org.mariadb.jdbc.Driver");
Connection connection = DriverManager.getConnection(
"jdbc:mariadb://localhost:3306/project", "root", "");
Statement statement = connection.createStatement();
String uname="xyz",pass="abc";
statement.executeUpdate("insert into user values('"+uname+"','"+pass+"')");}//end of try block
J'ai regardé sur internet pour les aider et arriva par la classe du pilote fourni par le MariaDB la Bibliothèque du Client pour des Applications Java n'est pas com.mysql.jdbc.Pilote, mais org.mariadb.jdbc.Pilote! Je l'ai changé en conséquence, mais il semble que le problème est avec la première ligne à l'intérieur du bloc try. Le pilote ne se charge pas du tout.
Aussi, j'ai ajouté le mysql fichier jar pour les bibliothèques de mon application java comme dans la capture d'écran ci-dessous. S'il vous plaît aidez-moi à travers ce.
source d'informationauteur Nitish Pareek
Vous devez vous connecter pour publier un commentaire.
Il semble que vous essayez d'utiliser
jdbc:mariadb://...
pour établir une connexion à un MariaDB instance de serveur en utilisant le Pilote JDBC MySQL. Qui probablement ne fonctionnera pas parce que le Pilote JDBC MySQL serait d'utiliserjdbc:mysql://...
qu'il s'agisse de la connexion à un serveur MySQL ou MariaDB serveur. Qui est, la chaîne de connexion doit correspondre à la pilote qui est utilisé (plutôt que le serveur de base de données d'accès).MySQL et MariaDB les pilotes sont censés être en quelque sorte interchangeables, mais il semble prudent d'utiliser le MariaDB connecteur lors de l'accès à un serveur MariaDB. Pour ce que ça vaut, la combinaison de
mariadb-java-client-1.1.7.jar
et
a fonctionné pour moi. J'ai téléchargé le MariaDB Bibliothèque Client Java à partir d'ici:
https://downloads.mariadb.org/client-java/1.1.7/
qui je suis arrivé à la via
https://downloads.mariadb.org/
Remarques supplémentaires:
Il n'est pas nécessaire pour un
Class.forName()
déclaration dans votre code Java.La configuration par défaut pour MariaDB sous Mageia peut inclure le
skip-networking
directive/etc/my.cnf
. Vous aurez besoin de supprimer (ou commenter) cette directive, si vous voulez vous connecter à la base de données via JDBC parce que les connexions JDBC toujours l'air de "réseau" de connexions à MySQL/MariaDB, même si elles sont des connexions à partir delocalhost
. (Vous devrez peut-être ajuster labind-address
de la valeur à quelque chose comme0.0.0.0
.)Une note supplémentaire:
Explorer les MariaDB pilote JDBC, j'ai trouvé ce à l'intérieur de l'url de l'analyse du fichier:
Comme vous pouvez le voir, la chaîne
"jdbc:mariadb:"
est toujours remplacé par"jdbc:mysql:"
en interne. Alors, quand il s'agit de la MariaDB conducteur, qu'il est :mariadb: ou :mysql: elle obtient toujours analysée comme"jdbc:mysql:"
.Pas de différence.