2017-04-25 1 views
0

JDBC 코드가 아무 것도하지 않습니다. "데이터베이스에 연결"문을 인쇄하지만 그게 전부입니다. JDBC jar 파일을 참조 했으므로 코드가 작동하지 않는 이유가 약간 혼란 스럽습니다. 내가 노력하고있는 코드는 아래와 같습니다.JDBC가 작동하지 않습니다.

package exampleDatabase; 


import java.sql.*; 


public class Main { 

     // TODO Auto-generated method stub 


     static final String JDBC_DRIVER = "com.mysql.jdbc.Driver"; 
      static final String DB_URL = "jdbc:mysql://localhost:81/companylist"; 

      // 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 = "SELECT ID, firstName, lastName,Email FROM Staff"; 
       ResultSet rs = stmt.executeQuery(sql); 

       //STEP 5: Extract data from result set 
       while(rs.next()){ 
       //Retrieve by column name 
       int ID = rs.getInt("ID"); 
       String firstName = rs.getString("firstName"); 
       String lastName = rs.getString("lastName"); 
       String Email = rs.getString("Email"); 

       //Display values 
       System.out.print("ID: " + ID); 
       System.out.print(", First: " + firstName); 
       System.out.println(", Last: " + lastName); 
       System.out.println(", Last: " + Email); 

       } 
       //STEP 6: Clean-up environment 
       rs.close(); 
       stmt.close(); 
       conn.close(); 
      }catch(SQLException se){ 
       //Handle errors for JDBC 
       se.printStackTrace(); 
      } catch (ClassNotFoundException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
      } 
    } 
+0

jdbc:mysql://localhost:3306/companylist 당신은 반드시 포트 (81)가 올바른 포트가 있습니까? https://dev.mysql.com/doc/connector-j/en/connector-j-reference-configuration-properties.html – maximilianus

+0

오류 메시지가 나타 났습니까? 데이터베이스 포트 주소가 맞습니까? '81'이라고 확신합니까? –

+0

안녕하세요. 포트 문제라고 생각합니다. 이 게시물을 확인하고 문제가 해결되는지 확인하십시오. http://stackoverflow.com/a/26788332/4022947 감사합니다. –

답변

0

데이터베이스 서버의 Port Address은 웹 서버의 포트가 아닙니다. 따라서이 문제를 해결하려면 jdbc:mysql://localhost:3306/companylist으로 연결 URL을 변경해야합니다. 3306은 MySQL 데이터베이스 서버의 기본 포트 주소입니다.

-1

jdbc:mysql://localhost:81/companylist은 유효하지 않습니다.

mysql database을 사용하고 있으므로 port 서버의 기본값은 3306입니다.

그래서 이것을 시도,

가 실행됩니다 ....

관련 문제