2016-07-25 7 views
0

mysql 데이터베이스에 id, name 및 idno를 삽입하는 웹 서비스를 만들 때 어떤 이유로 아래 코드가 실행되지 않습니다. MYSQL JDBC 드라이버 - MYSQL 커넥터 라이브러리를 추가했지만 "심각 : java.sql.SQLException : jdbc : mysql : // localhost : 3306/web"에 적합한 드라이버가 없습니다. 저는 사람들의 답을 얻었지만 답을 얻지 못하는 것 같습니다. 그 원인은 무엇일까요? 누군가?java.sql.SQLException : jdbc : mysql에 적합한 드라이버가 없습니다.

package com.database.www; 

import java.sql.Connection; 
import java.sql.DriverManager; 
import java.sql.SQLException; 
import java.sql.Statement; 
import javax.jws.WebService; 
import javax.jws.WebMethod; 
import javax.jws.WebParam; 

@WebService(serviceName = "database") 
public class database { 


    @WebMethod(operationName = "hello") 
    public void hello(@WebParam() int id, String name, String idno) { 

     try (

       Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/web", "root", ""); 
       Statement stm = conn.createStatement();) { 



      String insert = "INSERT INTO `web` " + "VALUES ("+id+", '"+name+"','"+idno+"')"; 
      int exc = stm.executeUpdate(insert); 
      System.out.println("The SQL Command is: " + insert); 
      System.out.println("Inserted Successfullly!"); 
     } 
    catch (SQLException e){ 
     e.printStackTrace(); 
    } 



    } 
} 
+0

** ** 당신은 mysql 커넥터를 어떻게 추가 했습니까? 그리고 어떻게 이것을 배포하고 있습니까? –

+0

라이브러리에서 라이브러리를 추가 한 다음 netbeans IDE에서 JDBC Lib을 선택했습니다. – bmm

+0

그리고 어떻게 배포하고 있습니까? netbeans에서 실행할 수 있어야하지만 서버에서 실행하려면 일반적으로 서버에 * 설치해야합니다. –

답변

0

방금 ​​Class.forName("com.mysql.jdbc.Driver");이 포함되어 있습니다.

package com.database.www; 

import java.sql.Connection; 
import java.sql.DriverManager; 
import java.sql.SQLException; 
import java.sql.Statement; 
import javax.jws.WebService; 
import javax.jws.WebMethod; 
import javax.jws.WebParam; 


@WebService(serviceName = "database") 
public class database { 


    @WebMethod(operationName = "hello") 
    public void hello(@WebParam() int id, String name, String idno) throws ClassNotFoundException { 

     Class.forName("com.mysql.jdbc.Driver"); 

     try (

       Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/web", "root", ""); 
       Statement stm = conn.createStatement();) { 



      String insert = "INSERT INTO `web` " + "VALUES ("+id+", '"+name+"','"+idno+"')"; 
      int exc = stm.executeUpdate(insert); 
      System.out.println("The SQL Command is: " + insert); 
      System.out.println("Inserted Successfullly!"); 
     } 
    catch (SQLException e){ 
     e.printStackTrace(); 
    } 



    } 
} 
+0

응용 프로그램 서버에 설치하는 대신 웹 응용 프로그램의 일부로 드라이버를 배포하는 것처럼 들립니다. –

+0

최신 JDBC 드라이버의 경우 'Class.forName'은 필요하지 않습니다. –

관련 문제