자료실에 있는 기본적인 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 부분을 참고하시기 바랍니다.