database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
ㆍOracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
Oracle Tutorials 8864 게시물 읽기
 News | Q&A | Columns | Tutorials | Devel | Files | Links
No. 8864
리눅스에서 오라클 JDBC연동
작성자
정재익(advance)
작성일
2001-12-13 08:08
조회수
6,880

리눅스에서 오라클 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를 연동할 수 있겠죠?

이해가 안되거나 질문하실 사항은 게시판에 남겨주세요.

그럼, 다음 시간에 뵙겠습니다..^^

이 글에 대한 댓글이 총 1건 있습니다.

JDBC 로 오라클 연결시 간단하게 테스트 해 볼수 있는 스크립트 입니다.

 

출처 : http://www.okjsp.pe.kr

<%@ page import="java.sql.*" contentType="text/html;charset=euc-kr"%> 
<% 
String DB_URL = "jdbc:oracle:thin:@localhost:1521:ORCL"; 
String DB_USER = "scott"; 
String DB_PASSWORD= "tiger"; 

Connection conn; 
Statement stmt; 

try { 
Class.forName("oracle.jdbc.driver.OracleDriver"); 

conn = DriverManager.getConnection(DB_URL, DB_USER, DB_PASSWORD); 

stmt = conn.createStatement(); 

conn.close(); 

out.println("oracle jdbc test: connect ok!!"); 
} catch(Exception e) 
{out.println(e.getMessage());} 
%> 
advance님이 2001-12-13 08:30에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
8868db link
정재익
2001-12-13
4079
8867ORACLE8 ADVANCED QUEUING (AQ) 의 개념 및 예제
정재익
2001-12-13
5348
8865Oracle 9i Online Documentation
정재익
2001-12-13
3645
8864리눅스에서 오라클 JDBC연동 [1]
정재익
2001-12-13
6880
8862Oracle 8 - Situation
정재익
2001-12-12
5711
8859Oracle 8 - Backup &amp; Recovery (1)
정재익
2001-12-12
9666
8858Oracle 8 - Network Administration
정재익
2001-12-12
11683
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2022 DSN, All rights reserved.
작업시간: 0.230초, 이곳 서비스는
	PostgreSQL v13.3으로 자료를 관리합니다