2010-12-14 53 views
3

J'ai installé MySQL sur ma propre machine. J'ai créé une base de données, créer une table, ... en utilisant MySQL CommandLine Client. Lorsque vous travaillez sur un projet à l'école, je me suis connecté à la base de données de l'école en utilisant cette syntaxe:Comment se connecter à un hôte local en utilisant JDBC?

public static Statement connect() { 
    try { 
    Class.forName("com.mysql.jdbc.Driver").newInstance(); 
    conn = DriverManager.getConnection("1", "2", "3"); 
    stmt = conn.createStatement(); 
    } 
    catch(Exception e) { 
    System.out.println("Connection Error: " + e); 
    } 
    return stmt; 
} 

Dans ma machine locale, je n'ai pas à taper le nom d'utilisateur, tout ce que je fait est de se connecter juste avec mon mot de passe utilisateur root:

Enter password: **** 
Welcome to the MySQL monitor. Commands end with ; or \g. 
Your MySQL connection id is 1 
Server version: 5.1.53-community MySQL Community Server (GPL) 

Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved. 
This software comes with ABSOLUTELY NO WARRANTY. This is free software, 
and you are welcome to modify and redistribute it under the GPL v2 license 

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. 

mysql> use chandb; 
Database changed 
mysql> show tables; 
+------------------+ 
| Tables_in_chandb | 
+------------------+ 
| another   | 
| cars    | 
| employees  | 
+------------------+ 
3 rows in set (0.03 sec) 

mysql> select * from Another; 
+----+-----------+----------+ 
| Id | GoldValue | Model | 
+----+-----------+----------+ 
| 0 |  100 | Civic DX | 
+----+-----------+----------+ 
1 row in set (0.00 sec) 

mysql> 

Je voudrais savoir comment puis-je me connecter à la base de données de mon ordinateur local? Que dois-je mettre comme étant des paramètres méthode .getConnection

conn = DriverManager.getConnection( 
    "1", // ? 
    "2", // ? 
    "3" ); // ? 

Meilleures salutations,
Chan

+3

Mec, retirer ce nom d'utilisateur et mot de passe de votre extrait de code, dès que possible! Supprimer le nom d'hôte aussi, pendant que vous y êtes. Aussi, vous n'avez pas besoin d'encombrer l'extrait avec le peu 'show tables' mal inséré – Todd

+0

Merci de nous avoir rappelé le problème de sécurité. Edité – Chan

Répondre

6

Connexion simple:

import java.sql.Connection; 
import java.sql.DriverManager; 

public class Main { 
    public static void main(String[] argv) throws Exception { 
    String driverName = "org.gjt.mm.mysql.Driver"; 
    Class.forName(driverName); 

    String serverName = "localhost"; 
    String mydatabase = "mydatabase"; 
    String url = "jdbc:mysql://" + serverName + "/" + mydatabase; 

    String username = "username"; 
    String password = "password"; 
    Connection connection = DriverManager.getConnection(url, username, password); 
    } 
} 
+0

Merci Mohamed, mais ça n'a pas marché. J'ai eu l'exception jetée dans le principal. Exception dans le thread "principal" java.sql.SQLException: Aucun pilote approprié trouvé pour jdbc: mysql:// localhost/chandb \t à java.sql.DriverManager.getConnection (source inconnue) \t à java.sql.DriverManager.getConnection (Source inconnue) \t à Program.main (Program.java:15) – Chan

+0

Je l'ai fait fonctionner;) Merci;) – Chan

+0

Il y a des espaces dans l'URL qui le rend invalide. Retirez-le. – BalusC

2

On dirait que vous avez laissé votre nom d'utilisateur et mot de passe dans la source que vous avez publiée.

Je ne vois pas pourquoi vous ne pouvez pas faire

DriverManager.getConnection("jdbc:mysql://localhost/chandb", "user, "pass");