2016-04-08 12 views
1

を使用してMySQLデータベースに正しく接続することはできませんので、このデータベースの目的は、これをアクセスするウェブサイトのために必要なクエリを実行することで、ここでのコードは次のとおりです。は、java

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

public class Connect_Database { 
// JDBC driver name and database URL 
static final String JDBC_DRIVER = "com.mysql.jdbc.Driver"; 
static final String DB_URL = "jdbc:mysql://127.0.0.1:3306/?user=root"; 

// Database credentials 
static final String USER = "root"; 
static final String PASS = ; 

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 = "INSERT INTO Inventory " + "VALUES (shirt,1234,5)"; 
    stmt.executeUpdate(sql); 


}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 

} 
} 

、ここでは、エラー:

java.sql.SQLException: No database selected 
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2975) 
    at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1600) 
    at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1695) 
    at com.mysql.jdbc.Connection.execSQL(Connection.java:3020) 
    at com.mysql.jdbc.Statement.executeUpdate(Statement.java:1074) 
    at com.mysql.jdbc.Statement.executeUpdate(Statement.java:1008) 
    at dodRus.Connect_Database.main(Connect_Database.java:30) 

明らかにそれがデータベースに正常に接続を行うのではなく、

+2

あなたのサンプルコードに実際のルートパスワードを投稿していないことを本当に願っています... –

+1

ローカルホストであっても、投稿するのはまだ良いことではありません – bmarkham

+1

とにかく、 url。エラーはすぐそこに言います。 urlは 'jdbc:mysql://127.0.0.1:3306 /(ここにデータベース名)?user = root'でなければなりません – bmarkham

答えて

2

あなたはあなたのDSNでデータベース名を含める必要があり、なぜ私が把握することはできません文字列。

static final String DB_URL = "jdbc:mysql://127.0.0.1:3306/<name_of_database>?user=" + USER + "&password=" + PASS; 

Connector/J documentationを参照してください。