1 분 소요

오라클 DB 와 연동하기


TestJavaProject 에서 오라클 db 와 연결하기 위한 코드

  1. Class.forName 함수를 통해 오라클 JDBC Driver를 로드한다.
  2. DriverManager.getConnection 함수를 이용하여 오라클DB 서버와 연결하였다.
  3. 쿼리를 주어 테이블에서 데이터를 읽어오거나 데이터를 삽입할 수 있다.
  4. 마지막으로 conn.close(); 함수를 이용하여 db 연결을 끊는다.
  • 아래의 코드는 TEST 라는 테이블에서 데이터를 꺼내오는 것이다.
  • 프로젝트 구조는 다음과 같다.
  • App.java 의 doPost 부분도 고쳐보자.
  • String s = db.getUsers(); 즉 위에서 만든 getUsers 함수를 호출하여 db의 내용을 가져올 수 있다.
  • 프로젝트를 컴파일 하고 컴파일한 결과를 WEB-INF/classes/ 로 옮겨주자. 옮긴 다음 톰캣을 재시작하자. 사이트에 들어가서 request 페이지로 Post 요청을 하면 다음과 같이 TEST 테이블의 내용을 읽어올 수 있다.
    Pasted image 20230410175406
    Pasted image 20230410175309

발생했던 오류


오류 내용

  • java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver 오류가 발생하였다. 해당 오류는 orcale 과 연결을 하기 위한 jdbc 파일을 못찾아서 발생한 오류이다.

해결법

  1. 먼저 JDBC 다운 사이트 에서 먼저 현재 사용중인 Oracle DB 버전에 맞는 창을 선택한다. 그다음 현재 서버에서 사용중인 JDK 버전을 지원하는 JDBC 를 다운 받는다.
    Pasted image 20230410160406
  2. 다운받은 JDBC 파일을 WEB-INF/lib 폴더에 넣어준다.
  3. 톰켓을 다시 시작하자.
    ./apache-tomcat-10.1.7/bin/shutdown.sh 톰캣 중지
    ./apache-tomcat-10.1.7/bin/startup.sh 톰캣 시작
  4. 오류가 없어졌다!

오류 내용

  • java.sql.SQLException: ORA-12541: Cannot connect. No listener at host localhost port 1521. (CONNECTION_ID=Y10z7f22RfCCr07I1wmkCg==)

해결법

  • String dbURL = "jdbc:oracle:thin:@서버주소:1521:XE"; 주소를 맞게 적어주어야 한다.

오류 내용

  • java.sql.SQLException: ORA-01017: 사용자명/비밀번호가 부적합, 로그온할 수 없습니다.

해결법

  • 사용자명과 비밀번호를 맞게 입력해야한다.

참고 사이트


댓글남기기