본문 바로가기
→ My Meta+IT/JAVA Source

이클립스(eclipse IDE) 오라클 클라우드(Oracle cloud) ojdbc11.jar database 연결 접속 성공

by DigitalJobs 2022. 7. 8.

이클립스(eclipse IDE) 오라클 클라우드(Oracle cloud) ojdbc11.jar database 연결 접속 성공

 

최근 오라클 클라우드가 평생 무료로 제공된다는 사실을 알고, 자바에서 작은 프로젝트를 할 때 사용하려고 오라클 클라우드에 가입하고 공부용인 데이터베이스를 생성 후 접속하려고 시도를 해보았습니다. 하지만 생각처럼 잘 진행되지 않았고 몇 개의 고비가 있었습니다.

구글링을 시간 날 때마다 이틀동안 해보았고, 윈도 환경에서 연결 성공 사례가 별로 많지 않다는 것을 알게 되어 성공포스팅을 해봅니다.

 

 

 

사람마다 개발환경이 다를 수 있기에 제가 성공했던 환경을 그대로 말씀드리겠습니다.

1. 기존에 사용하던 JDK, Eclipse를 모두 삭제하고, JDK18 버전을 다시 다운, Eclipse는 Java and Web Developers를 설치하였습니다.

jdk-18 설치파일 다운로드
jdk-18 설치파일 다운로드

JDK를 먼저 설치하시고, 이후 Eclipse를 설치해주세요!!

Eclipse를 설치
Eclipse를 설치

2. 이클립스에서 오라클 데이터베이스를 사용하기 위해 JDBC를 11 버전의 FULL버전으로 다운로드합니다.

JDBC를 11 버전의 FULL
JDBC를  11 버전의  FULL

다운로드한 압축파일을 풀어서 

jdbc 압축파일
jdbc 압축파일

OJDBC11 버전을 사용하게 됩니다.

 

3. 설치된 이클립스에서 프로젝트를 하나 만드신 후, 다운로드한 OJDBC11을 추가하겠습니다.

Build Path - Configure Build Path
Build Path - Configure Build Path

위 그림처럼 각자 만드신 프로젝트 이름에서 우클릭하신 후 Build Path - Configure Build Path를 선택하신 후 아래의 번호 순서대로 추가해 줍니다.

Libraries
Libraries

정상적으로 추가가 되었다면 왼쪽 프로젝트창에 Libraries에서 확인이 가능하십니다.

Libraries 등록 확인
Libraries 등록 확인

4. 지금까지 따라오셨다면, 오라클 클라우드에 접속할 준비가 되었고, 이클립스에서 클래스를 하나 추가하여 데이터베이스에 직접 연결해 보도록 하겠습니다.

저는 DataSourceTest라는 이름의 클래스를 만들었고, 코드 내용은 오라클 공식홈페이지에서 다운로드하였습니다.

 

 

Java connectivity to ATP

Download JDK81 or higher JDK versions Note : If you are using JDK11, JDK10, or JDK9 then you don't need anything. If your JDK version is less than JDK8u162 then download the JCE Unlimited Strength Jurisdiction Policy Files. Refer to the README for installa

www.oracle.com

DataSourceTest
DataSourceTest

5. 이제 다운로드한 코드를 수정합니다.

우선, 클래스 명부터 본인이 만든 클래스 명으로 변경해 주신 후, 아래 그림의 빨간 줄 부분을 수정해 주시면 됩니다.

jdbc 이클립스 연결 소스
jdbc 이클립스 연결 소스

여기가 핵심 포인트입니다. 수없이 구글링을 했지만, 환경이 저와 같은 환경을 잘 찾지 못했습니다. 그래서인지 위의 그림에서 가장 아래쪽의 OracleDataSource와 관련된 패키지에서 오류가 날 수 있습니다. 

 

이럴 경우는 저의 경험상 JDBC의 추가가 잘못되었거나, 오라클 클라우드 URL이 잘못되었을 가능성이 높은 듯합니다.

첫 번째 JDBC 추가가 잘못되었을 경우는 

dbc:oracle:thin:@oracleclass_medium
dbc:oracle:thin:@oracleclass_medium

위의 그림처럼 remove 한 후 다시 추가해 주시면 해결됩니다.

 

두 번째 오라클 클라우드 URL이 잘못되었을 경우는 바로 이 부분입니다.

final static String DB_URL="jdbc:oracle:thin:@본인DB이름_medium?TNS_ADMIN=전자지갑의 경로(Wallet_XXXX까지 적어주세요)"; // 가장 중요한 POINT!!

구글링에서 경로지정할 때 다양한 내용이 있습니다. 저의 경우는 역슬러쉬가  하나, 두 개가 아닌, 슬러쉬 하나를 사용하였습니다.
예를 들어, "jdbc:oracle:thin:@oracleclass_medium? TNS_ADMIN=C:/Users/user/Desktop/OracleCloud/OracleClass_Wallet/Wallet_OracleClass"

결국, 제 경우에는 이 부분이 큰 문제였습니다.

final static String DB_USER = "admin"; //오라클 클라우드 생성시 대부분이 admin으로 되어있습니다.
final static String DB_PASSWORD = "패스워드입력";

6. 마지막으로 오라클 클라우드에 제대로 연결되었는지 확인하기 위해 클라우드상의 테이블을 출력하는 부분(아래의 빨간색 부분)을 수정하였습니다.

  public static void printEmployees(Connection connection) throws SQLException {
    // Statement and ResultSet are AutoCloseable and closed automatically. 
    try (Statement statement = connection.createStatement()) {      
      try (ResultSet resultSet = statement
          . executeQuery("select deptno, dname, loc from dept")) {
        System.out.println("---------------------");
        while (resultSet.next())
          System.out.println(resultSet.getString(1) + " "
              + resultSet.getString(2) + " ");       
      }
    }   
  } 

7. 처리결과는 아래와 같습니다.

dbc:oracle:thin:@oracleclass_medium 결과
dbc:oracle:thin:@oracleclass_medium 결과

 

약 3일 동안 시간 날 때 찾아보긴 했지만, 구글링을 해도 윈도 환경에서 저와 같은 내용이 검색되지 않아서 저와 비슷한 분들을 위해 포스팅해 보았습니다. 부디 많은 분들이 성공하시길 바랍니다.

 

이클립스(eclipse IDE) 오라클 클라우드(Oracle cloud) ojdbc11.jar
이클립스(eclipse IDE) 오라클 클라우드(Oracle cloud) ojdbc11.jar

댓글