2012-08-13 41 views
0
DB_CONNECTION_URL = "jdbc:mysql://localHost:3306/test_DB"; 

當我調試程序時,出現test_DB不存在的異常。執行查詢時可以創建數據庫嗎?Mysql連接因數據庫未找到而失敗

+0

這個問題還不清楚。 – 2012-08-13 08:55:54

回答

0

您必須連接到服務器,而不是特定的數據庫:

DB_CONNECTION_URL = "jdbc:mysql://localHost:3306/"; 

然後用CREATE SCHEMA添加數據庫。

0

我不太瞭解jdbc,但通常你可以連接而不指定數據庫,然後檢查它是否存在並執行USE test_db如果是,則創建它,如果沒有。

你會經常看到簡單CREATE DATABASE IF NOT EXISTS test_db ...然後USE test_db(即不再需要爲了生存明確檢查)

0

根據你的問題,你必須在連接數據庫後創建一個名爲「TEST_DB」數據庫與JDBC。

0

之前,如果數據庫中存在或不執行查詢檢查,這樣做

Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306","root","root"); 
Statement st = con.createStatement(); 
     DatabaseMetaData meta = con.getMetaData(); 
     ResultSet rs = meta.getCatalogs(); 
     while (rs.next()) { 
      String listofDatabases=rs.getString("TABLE_CAT"); 
      list.add(listofDatabases); 
     } 
     if(list.contains(database)){ 
     System.out.println("Database already exists"); 

如果不寫查詢以創建數據庫..喜歡

String database = DATABASENAME; // "nlshriraam";//bf.readLine(); 
st.executeUpdate("CREATE DATABASE "+database); 

然後執行查詢..