티스토리 뷰

IT의 유익/WAS

JEUS7과 Oracle 12 연동하기

유익이아빠 2019. 8. 7. 14:52

이제부터 난이도가 있는 포스팅이 될 것 같다. 보다가 어려우시면 답글에 문의 바란다. 기본적인 3Tier(WEB-WAS-DBMS)에서 WEB-WAS는 연결했으니 WAS-DBMS를 연결해야 한다.

JEUS, WebtoB 연동 (tistory.com)

 

JEUS, WebtoB 연동

1. TEST 버전: JEUS8, WebtoB5 2. 연동이유: 간단하다. 대용량 요청이 왔을때 WAS(Web Application Server)에서 모든 처리를 해야한다면!! WAS서버 자원이 부족하겠지..그래서 WEB서버에서 html등의 정적인 페이지..

sicylove.tistory.com

연결하기 전에 Oracle을 설치해야 한다. 오라클 설치는 구글에 오라클 설치로 검색해서 설치하시기 바란다.

오라클 설치후 잊지 말아야 할 것(기록해 놓아야 할 것) 네 가지가 있다.

 오라클 서비스 IP  오라클을 설치한 서버의 IP(WAS와 같은 서버(컴퓨터)에 설치했다면 localhost)
 Port  오라클 서비스 포트(default로 1521)
 SID  Service ID로 기본 설치하면 ocrl이라는 SID가 생성된다.
 접속 ID/PASSWORD  오라클 설치시 user가 생성되는데 예로 system/[$password]을 이용해 접속해 본다. 

이 정도만 알고 간단한 JSP 파일을 넣어서 오라클의 기동여부를 확인한다.

dbconn2.jsp 파일을 아래와 같이 만들어 디플로이 한다.

<%@ page contentType="text/html;charset=EUC-KR"%>
<%@page import="javax.naming.*" %>
<%@page import="java.sql.*" %>
<%@page import="javax.sql.*" %>

<%
Connection conn=null;
String driver = "oracle.jdbc.driver.OracleDriver";
String url = "jdbc:oracle:thin:@localhost:1521:orcl";

Boolean connect = false;

try{
Class.forName(driver);
conn=DriverManager.getConnection(url,"system","jeusadmin"); //자신의 아이디와 비밀번호
connect = true;
conn.close();
}catch(Exception e){
connect = false;
e.printStackTrace();
}
%>
<%
if(connect==true){%>
연결되었습니다.
<%}else{ %>
오라클 연결에 실패하였습니다.
<%}%>

호출해 봤더니 실패했다고 나온다. 이유는 lib 파일을 설치(복사해서 폴더에 넣어놓기) 하지 않았기 때문이다.

여기서 lib 설치 파일 위치가 중요한데, 2군데 설정해야 한다. 하나는 JEUS에서 공통적으로 사용하는 lib 위치와 특정 어플리케이션에서 사용하는 모듈에 lib 폴더..

테스트를 위해 직접연결(WAS에서 연결하는 Datasource를 미활용시)을 위해서는

어플리케이션에 /WEB-INF/lib 폴더 안에 ojdbc8.jar 파일을 넣어놔야 한다.

다운은 여기서 .. https://www.oracle.com/technetwork/database/features/jdbc/jdbc-ucp-122-3110062.html

 

12.2.0.1 - JDBC and UCP Download Page

ojdbc8-javadoc.tar.gz (2,188,510 bytes) (SHA1 Checksum: cf1fe9f883ad6ec15012d30e65137af390e52f45) The download contains README-JDBC, README-UCP, jdbc-demo.tar, ucpdemos.jar, Javadoc-JDBC.zip, ucp_javadoc.zip, and README.txt that has more information about

www.oracle.com

일단 넣어놓고 Managed Server를 재기동하고 호출해보니 연결 성공!! 오라클도 정상구동중임을 확인한다.

근데 이렇게 연결하면 WAS에서 사용하는 어플리케이션과 직접 연결한 거라 소스마다 연결해주거나 연결 파일을 import 해야 한다.

datasource를 이용해서 연결하기 위해 ojdbc8.jar를 $JEUS_HOME/lib/datasource 폴더에 넣어준다. 그리고 webadmin에 접속해서 datasource를 생성한다.

ADD를 눌러 추가한다. ADD를 누르면 내용을 입력한다.

설치후 잊지 말아야 할 네 가지가 다 설정에 들어간다. 입력에는 무리가 없을 것이다. 다 적었으면 Active Changes를 눌러 적용시킨다. 그 후 테스트를 했는데...

뙇!!!!!! 부적합한 oracle URL이 지정되었습니다 : OracleDataSource.makeURL 이라고 나온다. 4시간 동안 구글링과 매뉴얼을 검색한다. 피들러로 패킷도 떠본다. 

드디어 원인을 찾았다....drivertype이 정의되지 않아서 부적합하다고 뱉었던 것이다..

고급 선택사항에 Property에 driverType:java.lang.String=thin을 입력한다. thin방식으로 datasorce를 연결하겠다는 의미고 OCI방식도 있는데 OCI 방식은 별도의 ORACLE Client가 설치되어야 하니 thin 방식으로 입력한다.(근데 이게 고급 선택사항이라니.. 이건 BASIC에 넣어서 반드시 설정해야 되는 거 아닌가?? T.T) 그러고 테스트 연결하니 잘 된다.

연결하고 나서 이제 이 datasource를 연결해봐야 한다 먼저 MS에 소스를 바인딩 해야 한다.

Server->바인딩하고자 하는 MS를 선택하고 BASIC에서 WAS에 아래와 같이 바인딩한다.

바인딩 마치고 MS를 재기동한다. 그리고 아래 소스를 첨부하여 디플로이를 해본다.

<%@page contentType="text/html; charset=euc-kr" %>
<%@page import="javax.naming.*" %>
<%@page import="java.sql.*" %>
<%@page import="javax.sql.*" %>

<%
DataSource ds = null;
Connection con = null;

/* 여기에 EXPORT-NAME 을 쓰면 됩니다. */
final String DATASOUCE="ORACLE";

try
{
InitialContext ic = new InitialContext();
ds = (DataSource)ic.lookup(DATASOUCE);
con = ds.getConnection();
}
catch(Exception ex)
{
ex.printStackTrace();
}
if( con != null )
out.print("JEUS7에서 바인딩된 DataSource 연결성공!!");
/* con.close();*/
else
out.print("It's Null");
%>

호출해보면

 

추가로 참고하실 사항은 TMAXSOFT사의 가이드를 첨부할 테니 참고 바랍니다.

JEU_Datasource가이드.pdf
2.06MB

 

도움이 되셨다면 구독과 좋아요는 안 하셔도 되는데 광고 한번 클릭해주세요 ㅋ

728x90
반응형
댓글