2013-02-13 170 views
3

我有一個mysql數據庫,我試圖從我們的網站主機(godaddy)檢索。我跟着這似乎是正確的格式,但它告訴我,:從mysql網站檢索時沒有選擇數據庫

java.sql.SQLException: No database selected 

代碼:

public static void main(String[] args) { 

    Connection conn = null; 
    Statement stmt = null; 

    try { 
     // STEP 2: Register JDBC driver 
     Class.forName(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 * FROM item_master"; 
     ResultSet rs = stmt.executeQuery(sql); //<-- This is where the error is. 

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

      // Display values 
      System.out.print("ID: " + id); 
     } 
... 
} 

我做了康涅狄格州的一個print語句也許想到的連接可能被空,是顯示如下:

[email protected]***** 

任何人有任何想法可能會導致這樣的事情?

+0

PLZ顯示DB_URL'的'值,至少格式,如果它的隱私是很重要的。 – 2013-02-13 00:26:19

回答

11

您的數據庫的URL應包含您的數據庫名稱。這通常是您的網址後跟一個「/ DBNAME」。

String URL = "jdbc:mysql://localhost:3306/mydb";

其中, 「mydb的」 是你的數據庫名稱。

+0

這是我有的數據庫url:jdbc:mysql://SLibdev.db.9969424.hostedresource.com – JoeyL 2013-02-13 00:29:39

+0

因此它缺少端口和數據庫方案名稱。這絕對是答案,+1 – 2013-02-13 00:30:32

+0

@AdriánLópez所以這將是格式? 的jdbc:mysql的://hostedresource.com:9969424/SLibdev.db – JoeyL 2013-02-13 00:35:17

1

DB_URL的值是什麼?據我所知,該URL需要的形式: 「WEBURL/DATABASENAME:PORT」 你只是想連接到WEBURL,沒有指定數據庫?

+0

這是我有的數據庫url: jdbc:mysql://SLibdev.db.9969424.hostedresource.com – JoeyL 2013-02-13 00:28:30

+0

其錯誤,端口必須在數據庫名前 – 2013-02-13 00:29:41

+0

啊,是的,你確實是對的。所以格式應該是「WEBURL/DATABASENAME:PORT」 – 2013-02-13 00:40:40

0

我有同樣的問題。

只需再運行一個查詢(在'SELECT'語句之前)連接到您的數據庫。

第一:

sql = "USE <yourdatabase>"; 

ResultSet rs = stmt.executeQuery(sql); 

而經過:

sql = "SELECT * FROM item_master"; 

rs = stmt.executeQuery(sql);