자료실에 있는 기본적인 JDBC응용 샘플을 이용해서 연결해보았습니다.
Cubrid 7버젼을 설치했구요
아래 연결 TEST를 해보니
D:workjava>java basic
SQLException : cubrid.jdbc.driver.CUBRIDDriver
Exception in thread "main" java.lang.NullPointerException at basic.main(basic.java:122)
이런 에러가 나더군요 그리고
Class.forName("cubrid.jdbc.driver.CUBRIDDriver");
이부분을 통과하지 못하는걸루 봐서 드라이버 로딩에 실패한거 같습니다.
기본적으로 설치를 해준후에 다른 설정은 어떤걸 또 잡아주어야하나요?
기본적인 JDBC 응용 샘플입니다.
프로그램 구조는 클래스를 만들고
Prepare문을 통해 질의를 수행하고
Rollback으로 수행을 취소시키는 구조입니다.
import java.util.*; import java.sql.*;
public class basic { public static Connection connect() { Connection conn = null; try { Class.forName("cubrid.jdbc.driver.CUBRIDDriver"); conn = DriverManager.getConnection("jdbc:cubrid:localhost:33000:demodb:dba::","dba",""); conn.setAutoCommit (false) ; } catch ( Exception e ) { System.err.println("SQLException : " + e.getMessage()); } return conn; }
public static void printdata(ResultSet rs) { try { ResultSetMetaData rsmd = null; rsmd = rs.getMetaData(); int numberofColumn = rsmd.getColumnCount();
while (rs.next ()) { for(int j=1; j<=numberofColumn; j++ ) System.out.print(rs.getString(j) + " " ); System.out.println(""); } } catch ( Exception e ) { System.err.println("SQLException : " + e.getMessage()); } }
public static void main(String[] args) throws Exception { Connection conn = null; Statement stmt = null; ResultSet rs = null; PreparedStatement preStmt = null;
try { conn = connect(); stmt = conn.createStatement(); stmt.executeUpdate("create class xoo ( a int, b int, c char(10))"); preStmt = conn.prepareStatement("insert into xoo values(?,?,''''100'''')") ; preStmt.setInt (1, 1) ; preStmt.setInt (2, 1*10) ; int rst = preStmt.executeUpdate () ;
rs = stmt.executeQuery("select a,b,c from xoo" );
printdata(rs);
conn.rollback();
stmt.close();
conn.close();
} catch ( Exception e ) {
conn.rollback();
System.err.println("SQLException : " + e.getMessage());
} finally {
if ( conn != null ) conn.close();
}
}
}
매뉴얼 > 홈 >CUBRID 시작>JDBC를 이용한 프로그램 작성> JDBC 환경 설정 http://www.cubrid.com/online_manual/cubrid_820/gs/gs_app_jdbc_setting.htm 부분을 참고하시기 바랍니다.