la création d'une base de données mysql à partir de java
Pourrait vous aider avec ce problème.
Je suis en train de créer et utiliser une base de données appelée TIGRE.
Je n'ai pas de problème si j'ai créer la base de données dans MySQL et il fonctionne parfaitement.
Ce que je voudrais faire est de créer à partir de Java. De sorte que lorsque le code est exécuté pour la première fois, il crée la base de données dans le cadre du lancement initial. Je tiens à cocher dans un agréable et très propre méthode, si possible.
Pourrait-il être possible pour quelqu'un pour me montrer où vous placez le code
Voici le code
private String jdbcDriver = "com.mysql.jdbc.Driver";
private String dbAddress = "jdbc:mysql://localhost:3306/";
private String dbName = "TIGER";
private String userName = "root";
private String password = "";
private PreparedStatement statement;
private ResultSet result;
private Connection con;
public DbStuff() {
try {
Class.forName(jdbcDriver);
con = DriverManager.getConnection(dbAddress + dbName, userName, password);
}
catch (ClassNotFoundException e) {
//TODO Auto-generated catch block
e.printStackTrace();
}
catch (SQLException e) {
//TODO Auto-generated catch block
e.printStackTrace();
}
}
et voici le code pour créer la base de données
con = DriverManager.getConnection("jdbc:mysql://localhost/?user=root&password=rootpassword");
statement = Conn.createStatement();
int myResult = statement.executeUpdate("CREATE DATABASE TIGER");
Merci d'avance et toute aide est appréciée
Désolé pour les fautes car je suis à long terme d'un lecteur, mais une nouvelle de l'écrivain.
Quand j'essaye de faire exécuter la partie principale du code qu'il génère une SQLException parce que la base de données n'existe pas. À ce point, je tiens à intercepter l'exception et de créer la base de données à ce point. Mais quand j'ai essayer ce n'est pas de créer la base de données.
- possible dupliqué stackoverflow.com/questions/717436/...
- Pas sûr de ce que la question est. Obtenez-vous en cas d'erreur lors de l'exécution du code ci-dessus, ou si vous ne savez pas comment l'exécuter?
- post journal des erreurs plz
Vous devez vous connecter pour publier un commentaire.
Essayer avec ce code.
Vous pouvez toujours exécuter
Si c'est couru sur le démarrage du projet, il sera simplement de vérifier si la base de données existe et si elle ne veut pas qu'il va créer la nouvelle base de données.
Pour référence: http://dev.mysql.com/doc/refman/5.0/en/create-database.html
Je suggère l'utilisation de cet extrait de code
La simple approche du problème est :
Sur un autre (de la question) remarque:
Je ne pense pas que c'est toujours une bonne idée de programmation pour générer la base de données. Vous serez mieux à l'aide de l'utilitaire fourni avec votre base de données. Tout le monde qui travaille avec MySQL sera presque certainement être familier avec l'outil de service et n'aura pas à se familiariser avec votre code Java, de le modifier, de le compiler et de l'exécuter pour effectuer un changement. Aussi, l'utilitaire dispose d'un riche ensemble de fonctionnalités que votre code Java n'a sans doute pas comme l'attribution d'autorisations, l'indexation, la configuration des clés étrangères, etc.
Tout d'abord,
Je tiens à remercier tous ceux qui ont répondu, il a été très utile en effet pour obtenir différents points de vue et opinions.
Voici la solution que j'ai de l'ensemble.
Hésitez pas à laisser un commentaire sur les code. Je sais à l'aide de l'e.printStackTrace() n'est pas le meilleur moyen d'avancer, ne vous inquiétez pas, Il sera modifié plus tard.
Quelques points à noter et corriger-
private Connection con;
mais vous l'utilisez commestatement = Conn.createStatement();
Vous avez déclaré une référence à la Déclaration Préparée
private PreparedStatement statement;
mais vous êtes la création d'instance de Déclarationstatement = Conn.createStatement();
.Votre code doit être -
Noter que lorsque la valeur de retour de executeUpdate est de 0, cela peut signifier deux choses:
L'exécution d'une instruction est une instruction de mise à jour qui a touché des lignes nulles.
L'exécution d'une instruction est une instruction DDL.
La Documentation