테스트 환경 : DB2 버전 8.1.xxx
OS : Windows XP
DB2쓸일이 있어서 셋팅해 보면서 난 오류 해결 방법 ^^
package db2.sample;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class DB2Sample {
/**
* @param args
*/
public static void main(String[] args) {
try {
Class.forName("COM.ibm.db2.jdbc.net.DB2Driver").newInstance();
Connection conn = DriverManager.getConnection("jdbc:db2://localhost:50000/SAMPLE", "user", "password");
PreparedStatement pstmt = conn.prepareStatement("SELECT * FROM CL_SCHED");
ResultSet rset = pstmt.executeQuery();
while(rset.next()) {
System.out.println(rset.getObject("CLASS_CODE"));
}
rset.close();
pstmt.close();
conn.close();
} catch(ClassNotFoundException cnfe) {
System.out.println("CNFE : " + cnfe.getMessage());
} catch(IllegalAccessException iae) {
System.out.println("IAE : " + iae.getMessage());
} catch(InstantiationException ie) {
System.out.println("IE : " + ie.getMessage());
} catch(SQLException sqle) {
System.out.println("SQLE : " + sqle.getMessage());
}
}
* @param args
*/
public static void main(String[] args) {
try {
Class.forName("COM.ibm.db2.jdbc.net.DB2Driver").newInstance();
Connection conn = DriverManager.getConnection("jdbc:db2://localhost:50000/SAMPLE", "user", "password");
PreparedStatement pstmt = conn.prepareStatement("SELECT * FROM CL_SCHED");
ResultSet rset = pstmt.executeQuery();
while(rset.next()) {
System.out.println(rset.getObject("CLASS_CODE"));
}
rset.close();
pstmt.close();
conn.close();
} catch(ClassNotFoundException cnfe) {
System.out.println("CNFE : " + cnfe.getMessage());
} catch(IllegalAccessException iae) {
System.out.println("IAE : " + iae.getMessage());
} catch(InstantiationException ie) {
System.out.println("IE : " + ie.getMessage());
} catch(SQLException sqle) {
System.out.println("SQLE : " + sqle.getMessage());
}
}
}
1. DB에 접속이 안되는 경우(계정,포트,패스워드 이상이 없는 경우)에 접속이 안되고
Connection conn =
DriverManager.getConnection("jdbc:db2://localhost:50000/SAMPLE", "user", "password");
위의 구문에서 멈추는 경우에는 설정한 포트번호가 아마 JDBC로 접속할수 없는 포트일 경우
가 99% JDBC로 DB2에 접속하실때는 아마도 DB2에서 다음과 같이 JDBC접속 포트를 열어
주어야 한다.
아래와 같이 JDBC접속포트를
db2jstrt <포트번호>
ex) db2jstrt 50000
2. java.lang.NoClassDefFoundError: com/ibm/db2/jcc/SQLJPackage 오류가 발생하는 경우.
db2jcc.jar를 클래스 패스에 추가해 주면 된다.
오류 발생 위치는
PreparedStatement pstmt = conn.prepareStatement("SELECT * FROM CL_SCHED");
위와 같이 preparedStatement를 구성하는 부분에서 오류가 발생하게 된다.
No comments:
Post a Comment