리눅스에서 오라클 JDBC연동
(2001/05/15)
원본출처 : http://www.kimho.pe.kr/jsp/jsp_oralinuxjdbc.html
안녕하세요?
여러분의 귀염둥이 kimho입니다. ^^*
ㄸ ㅏ ~ 악!
오늘은 리눅스 환경에서 JSP와 오라클을 연동해 보겠습니다..(@.X)
이미 전에 윈98 환경에서 JSP와 오라클을 연동하는 강좌를 했었습니다만,
환경이 바뀌면 어려워하시는 분이 계시는 것 같아서 이렇게 따로 강좌를 준비해보았습니다.
강좌는 윈98 환경에서의 연동 강좌와 비슷한 방식으로 진행될 것입니다. (사실 거의 똑같습니다)
자, 그럼 시작해 볼까요?
전에도 설명드린 바 있는 JDBC 연동 로직을 다시 설명 드리자면, JSP에서 JDBC드라이버를 로드하여 오라클과의 접속을 시도하고 오라클에서는 리스너(LISTENER)라는 애가 기다리고 있다가 JSP의 요청을 받아서 오라클 데이타베이스의 응답을 JSP로 보내줍니다.
그래서 설정시 필요한 것이 두 가지가 있다고 말씀드렸었죠?
그것은 바로,
1. JDBC드라이버
2. 리스너
입니다.
먼저 JDBC 드라이버를 설치해 보도록 하겠습니다.
리눅스에 오라클8i를 전체 설치, 즉 TYPICAL 로 하셨다면 JDBC 드라이버가 리눅스에 설치되어 있습니다.
/home/ora815/jdbc/lib 에 보시면 classes111.zip 이라는 파일이 있습니다.
오라클 홈 디렉토리가 어디냐에 따라 꼭 이 경로가 아닐 수도 있지만 어쨌든 이와 비슷한 디렉토리로 가시면 이 파일이 있습니다.
이것이 바로 JDBC 드라이버 입니다.
JDBC 드라이버를 설치하지 않았거나 존재하지 않는다면 여기 프로그램 자료실에서 드라이버를 다운 받아야 합니다.
이제 JDBC 드라이버를 리눅스가 읽을 수 있도록 클래스패스에 추가하도록 하겠습니다.
근데 왠지 어디서 많이 본 듯한 문장들이 자꾸 나오지 않습니까?
왜냐하면 윈98에서의 강좌에서 일부만 수정하는 방식으로 강좌를 쓰고 있기 때문이지요... ^^;
그러나 진행상에는 문제가 없으리라 예상되오니, 게으르다고 너무 나무라지 말아주세요...^^
자, 클래스패스에 추가하는 부분을 할 차례였죠?
# vi /etc/profile
이렇게 파일을 여신 후 다음을 추가합니다.
export CLASSPATH=$CLASSPATH:$ORACLE_HOME/jdbc/lib/classes111.zip
$ORACLE_HOME은 여러분이 오라클을 설치하실 때 지정하신 부분이겠죠.
그런 다음 이 변경 사항을 다음 명령으로 적용시킵니다.
# source /etc/profile
그러면 JDBC 드라이버 설치는 완료됩니다.
다음으로 할 일은 오라클의 리스너를 설정하는 일입니다.
리스너 설정 파일이 있는 곳으로 이동하겠습니다.
# cd /home/ora815/network/admin
여기로 이동하셔서 listener.ora 라는 파일이 있는지 확인해 보세요.
만약 파일이 없다면 그 밑에 sample 이라는 디렉토리에서
listener.ora 파일을 가져다가 저 위치로 복사시키세요.
그런 다음 아래와 같이 수정합니다.
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
)
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = c:\Oracle\Ora81)
(PROGRAM = extproc)
)
)
HOST에는 localhost나 여러분 컴퓨터의 ip주소를 적어주세요.
그러면 리스너의 설정도 모두 끝났습니다.
이제 오라클이 외부의 접속을 받아들이도록 리스너를 띄우겠습니다.
# su oracle
하셔서 oracle 이라는 사용자로 변신하신 다음에,
# lsnrctl start
라고 치십니다.
명령이 성공적으로 수행되었다고 나오면 일단 성공입니다.
이제 소스를 통해 테스트 해보는 일만 남았습니다.
아래와 같이 oratest.jsp파일을 하나 만드신 후,
<%@ page language="java" import="java.sql.*" contentType="text/html;charset=KSC5601" %>
<%
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection Conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:ORCL","SCOTT","TIGER");
Statement stmt = Conn.createStatement();
ResultSet rs = stmt.executeQuery("select * from BONUS");
if (rs==null)
{
out.println("암것도 없다");
}
else {
out.println("뭔가 있다");
}
stmt.close();
Conn.close();
%>
톰켓의 ROOT 디렉토리에 이 파일을 저장하시고,
브라우저 창에서 http://localhost/oratest.jsp 로 접근해 보세요.
결과가 '암것도 없다'라든가 '뭔가 있다'라는 말이 나오면 연동에 성공한 것입니다.
이제 리눅스에서도 오라클과 JSP를 연동할 수 있겠죠?
이해가 안되거나 질문하실 사항은 게시판에 남겨주세요.
그럼, 다음 시간에 뵙겠습니다..^^
|