2017-06-09 1 views
0

J'essayais le code ci-dessous pour établir la connexion à la base de données, mais cela ne fonctionne pas.Comment créer la "chaîne de connexion du pilote ODBC JDBC" en Java?

string connstr="jdbc:odbc:DRIVER={MySQL ODBC 3.51 Driver};SERVER=SERVER_NAME;DATABASE=db_name;UID=userpwd;PWD=userpwd"; 
string connstr2="jdbc:odbc:DRIVER={{MySQL ODBC 3.51 Driver}};SERVER=SERVER_NAME;DATABASE=db_name;UID=userpwd;PWD=userpwd"; 

Connection con = DriverManager.getConnection(connstr); 

Comme vous pouvez le voir, j'ai essayé d'ajouter « jdbc:odbc: » à chaîne odbc connection et aussi essayer de remplacer deux backet bouclés en tout seul.

Qu'est-ce que je fais mal ici?

+0

Êtes-vous sur Windows ou Linux ... vous avez le connecteur JDBC MySQL installé? https://dev.mysql.com/downloads/connector/j/ – Hackerman

+0

Avez-vous également vérifié si votre chaîne de connexion est dans le bon format?, vous pouvez vérifier quelques exemples ici http://alvinalexander.com/java/jdbc- connection-string-mysql-postgresql-sqlserver – Hackerman

+0

Copie possible de [Connectez Java à une base de données MySQL] (https://stackoverflow.com/questions/2839321/connect-java-to-a-mysql-database) – KevinO

Répondre

0

Voici une approche plus décrit en détail de nombreuses façons de le faire:

//STEP 1. Import required packages 
import java.sql.*; 

public class FirstExample { 
    // JDBC driver name and database URL 
    static final String JDBC_DRIVER = "com.mysql.jdbc.Driver"; 
    static final String DB_URL = "jdbc:mysql://localhost/EMP"; 

    // Database credentials 
    static final String USER = "username"; 
    static final String PASS = "password"; 

    public static void main(String[] args) { 
    Connection conn = null; 
    Statement stmt = null; 
    try{ 
     //STEP 2: Register JDBC driver 
     Class.forName("com.mysql.jdbc.Driver"); 

     //STEP 3: Open a connection 
     System.out.println("Connecting to database..."); 
     conn = DriverManager.getConnection(DB_URL,USER,PASS); 

     //STEP 4: Execute a query 
     System.out.println("Creating statement..."); 
     stmt = conn.createStatement(); 
     String sql; 
     sql = "SELECT id, first, last, age FROM Employees"; 
     ResultSet rs = stmt.executeQuery(sql); 

     //STEP 5: Extract data from result set 
     while(rs.next()){ 
     //Retrieve by column name 
     int id = rs.getInt("id"); 
     int age = rs.getInt("age"); 
     String first = rs.getString("first"); 
     String last = rs.getString("last"); 

     //Display values 
     System.out.print("ID: " + id); 
     System.out.print(", Age: " + age); 
     System.out.print(", First: " + first); 
     System.out.println(", Last: " + last); 
     } 
     //STEP 6: Clean-up environment 
     rs.close(); 
     stmt.close(); 
     conn.close(); 
    }catch(SQLException se){ 
     //Handle errors for JDBC 
     se.printStackTrace(); 
    }catch(Exception e){ 
     //Handle errors for Class.forName 
     e.printStackTrace(); 
    }finally{ 
     //finally block used to close resources 
     try{ 
     if(stmt!=null) 
      stmt.close(); 
     }catch(SQLException se2){ 
     }// nothing we can do 
     try{ 
     if(conn!=null) 
      conn.close(); 
     }catch(SQLException se){ 
     se.printStackTrace(); 
     }//end finally try 
    }//end try 
    System.out.println("Goodbye!"); 
}//end main 
}//end FirstExample 
+0

J'ai essayé d'utiliser le pilote jdbc. J'ai mysql-connector-java-5.1.42-bin.jar dans ma variable CLASSPATH. Cependant, je reçois une exception quand j'exécute le code suivant?

 Class.forName("com.mysql.jdbc.Driver");
Nite