2013-02-13 48 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);