Apple Silicon) M1 으로 oracle&eclipse 연동하기 (3)

Zino·2021년 12월 8일
1

M1생존기

목록 보기
3/3
post-thumbnail
post-custom-banner

❸ eclipse 와 oracleDB 연동!>>

.
.
전자지갑으로 sql developer 에서 사용자를 생성하였다.
이젠 학원에서 사용하는 eclipse 에서 oracleDB를 연동 해보겠다.

이클립스와 오라클을 연동한다 는 것은
.
자바(JAVA)를 이용, 오라클에 생성한 테이블등에 접근하여 정보를 가져온다는 것을 의미한다.
연동을 위해서는 반드시 자바와 오라클DB의 연동을 위하여 ojdbc 라이브러리를 가져오는것이 필요한데 이 ojdbc 버전을 어떤것을 사용할지가 굉장히 큰문제였고,
그로인해 매우 삽질과 고생을 하였다......💀
(사전에 나는 수업으로는 jdk 버전을 8 을 사용한다는 점을 고지한다.)
.
.
ojdbc 라이브러리는 오라클 홈페이지에서 제공하고있다
ojdbc 다운받기!!!! 여기로 가면 다른버전,,다른 어떤것도 쳐다보지 말고

ojdbc 8-full.tar.gz

이걸 다운받도록 한다!!!!!!!!

다운받았다면 작업중인 workspace폴더에 압축을 풀어준다
그리고
이클립스에 프로젝트를 생성하고 우클릭을하여 Build Path -> configure Build Path
로 들어간다
.
.

Add External JARs... 를 클릭한다
ojdbc를 압축해제한 곳을 경로로 잡아서 ojdbc8.jar를 선택한다

정상적으로 ojdbc가 선택이되었다면 Apply and Close 를 눌러서 Build Path를 마친다!!!⚡️
.
.
그렇다면 이제 설정한 ojdbc 가 정상적으로 작동이 되는지 확인해보겠다
자바Class를 하나만들어서 다음 코드를 입력한다.

import java.sql.Connection;
import java.sql.DriverManager;

/* 오라클 접속 테스트 */
public class ConnectTest_01 {
	public static void main(String[] args) {
       String url ="jdbc:oracle:thin:@데이터베이스이름_high?TNS_ADMIN=/전자지갑파일 경로/Wallet_데이터베이스이름";
       String userid="사용자 이름";
       String pwd ="비밀번호";
       
     
       //드라이버 로딩 
       try {
    	    //oracle DB연결 드라이버 로딩
    	    Class.forName("oracle.jdbc.OracleDriver");//
    	    System.out.println("드라이버 로딩 성공");
       }catch(Exception e) {
    	    e.printStackTrace();
       }
       
       //DBMS와 연결
       try {
    	       System.out.println("데이터베이스 연결 준비......");
    	       Connection con =DriverManager.getConnection(url, userid, pwd);
    	       if(con!=null) {
    	    	   System.out.println("데이터베이스 연결 성공...");
    	       }
       }catch(Exception e) {
    	   e.printStackTrace();
       }
	}
}

여기서 중요한 것 몇개를 짚겠다! .. 내가 localhost로 오라클접근이 가능했다면

String url ="jdbc:oracle:thin:@localhost:1521:xe";

이런식으로 했겠지만 우리는 전자 지갑을 사용했기에 좀 특별하다.
만약내가 데이터베이스이름이 oracle이고 다운받은 전자지갑이 Wallet_oracle 이라면

String url ="jdbc:oracle:thin:@oracle_high?TNS_ADMIN=/전자지갑파일 경로/Wallet_oracle";

이런식으로 하면 된다.
전자지갑 파일 경로는 전자지갑 압축해제 한 바로 그경로이다.

이상태에서 option + command + c 를 눌러 파일경로를 복사하고
위의 전자지갑파일경로 에 붙여넣기한다.

그리고 코드를 실행하면
.
.
.
.
⚡️

콘솔 창에 데이터베이스 연결 성공이 잘 나온것을 확인할 수있다..

성공!!!!!!!!

👏🏼👏🏼👏🏼👏🏼👏🏼👏🏼👏🏼👏🏼

.
.
이클립스에서 오라클DB를 연동하는 방법만 말하기때문에 이번글은 여기서 끝내겠다.
.
.
.
.

마무리하며....

적어놓고보니 정말 아무것도 아니지만..
백지상태에 M1에 관한 정보도 전무하고, 강사님의 도움도 받을 수 없던 나에게는
수업을 잘못따라가는 것이 무척 부담이었다.
구글에는 m1에서 오라클 을 시도한다니 비방하는 글로만 가득했지만💀
누군가 어찌어찌 해낸글을 보았다.
그건 분명 나에게 확신을 가져다줬다.
m1은 문제가 아니다 , 안되는 건 내가 설정을 잘못했기 때문이다.
라는 확신
그렇기에 포기는 생각도 하지 않았다.
이 고비를 넘기면 대단한 성취감이 날기다리고 있을것 같았고
내가 해낼 수 있을 거라 믿었다
매우 많은 시행착오가 있었다.... 무지속의 무지로 인해서 나는 모든 가능성을 열어두고
경우의 수를 줄여가는 방법을 택했다
주말을 반납하고 4일 을 몰두한 무지막지한 노가다였다
직감적으로 너무 멀리 갔다는 느낌이 들어 다시 오라클 홈페이지의 영자로 적은 해결 방법을 보기로 했다
근데 ojdbc 버전이..
성공했다는 사람의 것과 그 안내글에 나온 버전이 달랐고
혹시나 하는 마음에 8버전으로 갈아끼워 보니
해결이되었다..
그 과정에서 다른것도 알아보며 공부하던것 그리고 인내의 시간, 나에대한 믿음
그리고 마지막 해결됬을때의 카타르시스는 지금도 짜릿하다
별것아니지만 이로 인해 나는 많은 공부가 되었던거 같다
이후에도 난 홀로 계속해서 새로운 수업이진행될때마다 새로운 난관에 봉착했지만
이 때의 경험으로 해결해나가는 것 같다.

profile
Im gonna be developer🧑🏻‍💻
post-custom-banner

4개의 댓글

comment-user-thumbnail
2022년 1월 11일

혹시 이클립스 버전을 알 수 있을까요?

답글 달기
comment-user-thumbnail
2022년 3월 6일

덕분에 연동하는것은 잘 성공했습니다.감사드립니다!
하지만 하나 궁금한게 있습니다.
databaseconnection 으로 sql파일을 만들려고하는데요 전자지갑은 생각보다 쉽지가 않습니다.
혹시 방법을 알고 계신지요?

답글 달기
comment-user-thumbnail
2022년 5월 12일

전자지갑 사용하여 url 설정 했는데 oracle.jdbc.config.file 접속 속성에서 지정된 파일의 읽기를 실패했습니다.: default 라는 오류가 반환되는데 혹시 이유를 알 수 있나요 ?

답글 달기
comment-user-thumbnail
2023년 6월 8일

귀중한 글 감사합니다!!

답글 달기