상세 컨텐츠

본문 제목

eclipse 와 Oracle DB 연동 (JDBC)

DataBase/Oracle Database

by ChrisMare 2018. 10. 21. 22:50

본문

JDBC

JAVA 프로그램에서 SQL문을 실행하여 데이터를 관리하기 위한 JAVA API입니다.


JDBC 특징

다양한 데이터 베이스에 대해서 별도의 프로그램을 만들 필요 없이, 해당 데이터 베이스의 JDBC를 이용하면,

하나의 프로그램으로 데이터 베이스를 관리할 수 있습니다.


초기설정

저는 Oracle을 사용하므로, Oracle 용 JDBC 드라이버를 사용할 것이며, 이것은 오라클을 설치하면 자동으로 설치 되고,

JDK가 사용할 수 있도록 해당 폴더에 복사해서 사용하시면 됩니다.


복사 시 유의 사항

JAVA SE : %JAVA_HOME%\jre\lib\ext 디렉토리에 OJDBC 드라이버 붙여넣기

%JAVA_HOME% :  JDK 설치 디렉토리 경로

JAVA EE : ApacheTomcat이 설치된 디렉토리\lib 디렉토리에 OJDBC 드라이버 붙여넣기


1. 오라클 드라이버를 사용하기 위한 ojdbc6_g.jar 파일 복사

( C:\oraclexe\app\oracle\product\oracle-version\server\jdbc\lib )



2. 이클립스 설정되어 있는 JAVA 클래스 패스 : 

C:\Program Files\Java\jdk-version\jre\lib 외부 라이브러리파일을 담는 곳(ext File)에 넣습니다.

=> ( C:\Program Files\Java\jdk-version\jre\lib\ext )


1. 이클립스에서 먼저 설정된 JAVA 클래스 패스를 확인합니다.

2. Java Classpath 위치에서 외부라이브러리 파일을 담는 폴더(ext)에 ojdbc6_g.jar 파일을 붙여넣습니다.


여기 까지가 사전 설치 및 초기설정입니다...


Eclipse 내부 연동

: 이클립스 프로젝트의 WebContent\WEB-INF\lib 폴더에 복사하는 방법입니다.

1. Dynamic Web Project로 새로운 프로젝트를 만듭니다. 프로젝트명 작성하시고 Next


2. Next 후 Generate web.xml 항목을 check 한 후 Finish 를 누르고 프로젝트를 생성합니다.



3. 여기까지 하셨다면 화면과 같이 web.xml이 WEB-INF 안에 자동 생성 되어있습니다.

그렇다면 WEB-INF안 lib 폴더에 ojdbc6_g.jar 파일을 복사한 후 붙여넣어 줍니다.



4. 그 후 자신이 연결할 DB 경로를 지정해주어야 합니다.


Window > Show View > Data Source Explorer



5. Data Source Explorer에서는 Database의 경로와 데이터 정보들을 볼 수 있습니다.

이제 여기에있는 Database Connections 에서 우클릭 후 new를 눌러주시면 됩니다.

그리고 자신이 사용하고 있는 Database를 선택해주시면 됩니다. ( Oracle )



6. 그 후 db 경로를 설정해주어야 합니다.

동그란 아이콘 버튼 클릭후 자신의 oracle 버전에 맞춰서 선택하시면 됩니다.



7. 다음 으로는 어떤 jar 문서를 사용할 것인지 설정해줍니다.

1. 현재 지정되어있는 ojdbc14.jar 파일을 remove 해주신 후

2. 아까 lib폴더에 ojdbc6_g.jar 파일 경로로 Add JAR/Zip... 을 누르신 후 설정 해주시면 됩니다. 





8. 마지막으로 Properties를 설정해주셔야 됩니다.


Properties는 내 DB의 어떤 사용자에 접근할 것인지를 설정하는 것입니다. 

DB url과 sid 이름, 비밀번호, 접속계정이름을 넣어주시면 됩니다.


만약 connection url 경로가 생각나지 않으신 분은

sqldeveloper에 들어가신 후 계정추가할 때 나오는 경로를 확인하시면 됩니다.



9.  Test Connection 을 통해서 성공하시면 Finish

아니시면 다시 host와 service Name 을 체크해주세용



10. Finish를 하시면 Data Source Explorer 에는 자신이 만든 DB가 생길 것이고 

여기까지 하시면 DB연동은 되었습니다.




마지막 ) 연동 후 실제 기능 작동여부 테스트

연결 순서 : 


web.xml 에 들어가서 내가 어떤 DB를 참조할 것인지 설정해야됩니다.
저는 접속할 DB 이름을 jdbc/OracleDB 로 이름을 지어주었습니다.
그리고 import 타입을 javax.sql.DataSource 로 설정하시고 연동할 때 필요한 것들을 설정하시면 됩니다.

아래처럼 코드를 작성해주면 됩니다.

web.xml )

1
2
3
4
5
6
  <resource-ref>
    <description>Connection</description>
    <res-ref-name>jdbc/OracleDB</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
  </resource-ref>
cs


dbTest.jsp)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<%@ page import="java.sql.*"%>
<%
    //내 db 접속에 사용할 conn 변수
    Connection conn = null;
    //오라클 드라이버 경로 설정
    String driver = "oracle.jdbc.driver.OracleDriver";
    //내 db의 계정 경로 설정
    String url = "jdbc:oracle:thin:@localhost:1521:xe";
    //접속 성공,실패 여부 사용시 쓰는 변수
    Boolean connect = false;
    
    //db 접속 코드는 반드시 try~catch문 안에 써줘야함
    try {
        //오라클 드라이버 접속
        Class.forName(driver);
        //내 db 접속
        conn = DriverManager.getConnection(url, "scott""1234");
        //접속성공시 true 설정
        connect = true;
        //접속 끊기, 끊는 이유 : 항상 db가 연결되어 있으면 접속 오류 및 데이터 충돌이 일어나기 때문 
        conn.close();
    } catch (Exception e) {
        //접속 실패시 false 잡고 예외처리해줌
        connect = false;
        e.printStackTrace();
    }
%>
<%
if(connect==true){%>
    연결되었습니다.
<%}else%>
    연결에 실패하였습니다.
<%}%>
 
cs


결과 )


감사합니다.


혹시 안되시거나 궁금하시면 댓글 남겨주세요...

관련글 더보기

댓글 영역