'자바'에 해당되는 글 2건
- 2007/07/13 Oracle 10g XE JDBC 연결하기 (1)
- 2007/06/26 Tomcat 기반 JSP 개발 환경설정
교육기관에서 Servlet/JSP 과정에서 DataBase 로 Oracle 을 학습하게 되었습니다. 늘 진행해 왔던 커리큘럼이 있었기 때문인지 Oracle 9i 버전을 설치해서 진행을 하게 되었는데, 대부분의 상용 DB 프로그램이 그렇겠지만 상대적으로 무거운 느낌이 있어서 기웃기웃 거리다가 XE 라는 녀석을 알게(?) 되었습니다.
Oracle 10g Express Edition 의 목적은 개인의 학습용 / 개발자용 / 교육기관의 학습용 으로 배포되는 것이라 합니다. 학습을 용도로 한 저에게는 Oracle 9i 같은 통합 제품군 보다는 오히려 XE 버전이 훨씬 더 알맞은 제품군이라는 판단이 서게 되었고, 설치를 마치게 되었습니다. :-)
일단, 배포본의 Size 에서 많은 차이가 나는 것을 느꼈습니다. Oracle 9i 의 경우 CD 3 장 분량으로 제공이 되고 있으나, XE 의 경우는 200MB 정도의 파일 하나만이 필요했습니다.
(이도 oracle 공식 사이트에서 무료로 제공되고 있습니다. 물론 한글버전으로 나온답니다.)
메모리 점유율 등을 살펴보면 생각만큼 큰 폭의 낮은 리소스를 사용하는 것은 아니지만, 아무래도 통합 배포본보다야 가벼울 수 밖에 없었습니다.
(약 1/3 정도는 빨라진것을 느꼈습니다.)
설치를 마치고 난 후 기존에 사용하던 방법을 이용해서 JDBC 드라이버를 세팅해 주고, Connection 객체를 생성하다가 갑작스럽게 벽에 부딛히게 되었습니다. 네. 맞아요. SID 아이디를 뭘 적어줘야 할지 갈피를 잡지 못했던 것이랍니다. 부랴부랴 오라클 공식 홈페이지를 찾아 다니면서 관련 문서들을 읽어 보며, 무언가를 문서화 시키는것을 습관화 시키지 못하는 사람은(특히나 개발자라면) 나중에 반드시 한번은 큰 난관에 부딛히리라는 느낌이 와 닿게 되었습니다.
자.. 사설이 길었습니다. :-)
위와 같은 방법으로 이용하면, 기존에 이용하던 방법으로 오라클을 이용할 수 있었습니다.
주변의 사례들을 예로 보면, 개발단계에서 DB 에 단순한 Query 만을 날리면서도 완성된 제품군을 선호하는 사람들이 많은것 같습니다. 하지만 목적에 어긋날 정도로 비대한 녀석을 명확한 사용방법도 인지하지 못한채 '그저 좋은것' 이라는 인식만으로 사용하는것은 상당히 잘못된 무언가가 있는것이 아닐까라는 생각을 하게 되었습니다.
(그것도 불법 S/W 를 사용하죠. 개발자가 되겠다는 사람이..)
조금 더 넓은 시야를 가질 수 있는 연습이 필요한것 같습니다. :-)
Oracle 10g Express Edition 의 목적은 개인의 학습용 / 개발자용 / 교육기관의 학습용 으로 배포되는 것이라 합니다. 학습을 용도로 한 저에게는 Oracle 9i 같은 통합 제품군 보다는 오히려 XE 버전이 훨씬 더 알맞은 제품군이라는 판단이 서게 되었고, 설치를 마치게 되었습니다. :-)
일단, 배포본의 Size 에서 많은 차이가 나는 것을 느꼈습니다. Oracle 9i 의 경우 CD 3 장 분량으로 제공이 되고 있으나, XE 의 경우는 200MB 정도의 파일 하나만이 필요했습니다.
(이도 oracle 공식 사이트에서 무료로 제공되고 있습니다. 물론 한글버전으로 나온답니다.)
메모리 점유율 등을 살펴보면 생각만큼 큰 폭의 낮은 리소스를 사용하는 것은 아니지만, 아무래도 통합 배포본보다야 가벼울 수 밖에 없었습니다.
(약 1/3 정도는 빨라진것을 느꼈습니다.)
설치를 마치고 난 후 기존에 사용하던 방법을 이용해서 JDBC 드라이버를 세팅해 주고, Connection 객체를 생성하다가 갑작스럽게 벽에 부딛히게 되었습니다. 네. 맞아요. SID 아이디를 뭘 적어줘야 할지 갈피를 잡지 못했던 것이랍니다. 부랴부랴 오라클 공식 홈페이지를 찾아 다니면서 관련 문서들을 읽어 보며, 무언가를 문서화 시키는것을 습관화 시키지 못하는 사람은(특히나 개발자라면) 나중에 반드시 한번은 큰 난관에 부딛히리라는 느낌이 와 닿게 되었습니다.
자.. 사설이 길었습니다. :-)
ojdbc14.jar 파일
(Path : C:\oraclexe\app\oracle\product\10.2.0\server\jdbc\lib)
JAVA_HOME/jre/lib/ext
CATALINA_HOME/lib 혹은 CATALINA_HOME/common/lib
위 두곳에 복사해 줍니다.
Java 에서 Connection 객체를 생성할 때
Class.forName("oracle.jdbc.driver.OracleDriver");
URL : jdbc.oracle.thin:@localhost:1521:XE
DataBase 사용자 계정에서 scott 계정을 생성.
(기존의 Oracle 에서 이용하던 scott / tiger 를 이용하기 위한 설정입니다.)
위와 같은 방법으로 이용하면, 기존에 이용하던 방법으로 오라클을 이용할 수 있었습니다.
주변의 사례들을 예로 보면, 개발단계에서 DB 에 단순한 Query 만을 날리면서도 완성된 제품군을 선호하는 사람들이 많은것 같습니다. 하지만 목적에 어긋날 정도로 비대한 녀석을 명확한 사용방법도 인지하지 못한채 '그저 좋은것' 이라는 인식만으로 사용하는것은 상당히 잘못된 무언가가 있는것이 아닐까라는 생각을 하게 되었습니다.
(그것도 불법 S/W 를 사용하죠. 개발자가 되겠다는 사람이..)
조금 더 넓은 시야를 가질 수 있는 연습이 필요한것 같습니다. :-)
특별한 프레임 워크 사용 없이 Java 2 SDK 와 Tomcat 설치, 그리고 MySQL Database 와의 연동을 위한 최소한의 설치과정을 정리.
자바 설치 후 PATH, JAVA_HOME, CLASSPATH 설정.
Tomcat 설치 후 CATALINA_HOME 설정.
Java 컴파일러에서 서블릿의 클래스 파일을 인식시키기 위해서 대부분의 서적에서 CLASSPATH 를 설정해 주는 방식을 사용하는것 같습니다. 하지만 매번 새로운 모듈이 필요할 경우마다 설정을 바꾸어 주어야 하는 수고스러움(?)이 발생하는 문제점이 있습니다. 따라서 저는 JAVA_HOME\jre\lib\ext 디렉토리에 해당 모듈을 넣어주는 방식을 선호합니다. :-)
(이 방식은 개발시에 용이하지만, 실제 서비스를 해야 하는 경우라면 CLASSPATH 를 설정해 주는것이 올바른것 같습니다.)
여기까지의 설정만을 이용하면 Servlet 및 JSP 에서 MySQL Database 에 접근할 수 있었습니다. 굳이 MySQL 이 아닌 Oracle 이나 MS-SQL 역시 JDBC 드라이버만 JAVA_HOME\jre\lib\ext 디렉토리에 복사해 주면 정해진 API 를 통해 접근이 가능해 지는것을 확인하였습니다.
아직까지 마음에 들진 않지만.. 역시나 배우는 입장이니 시키는 대로 따라가 보아야 겠습니다. :-)
자바 설치 후 PATH, JAVA_HOME, CLASSPATH 설정.
JAVA_HOME = C:\java\j2sdk
PATH = %PATH%; %JAVA_HOME%\bin;
CLASSPATH = .;
Tomcat 설치 후 CATALINA_HOME 설정.
CATALINA_HOME = C:\tomcat
Java 컴파일러에서 서블릿의 클래스 파일을 인식시키기 위해서 대부분의 서적에서 CLASSPATH 를 설정해 주는 방식을 사용하는것 같습니다. 하지만 매번 새로운 모듈이 필요할 경우마다 설정을 바꾸어 주어야 하는 수고스러움(?)이 발생하는 문제점이 있습니다. 따라서 저는 JAVA_HOME\jre\lib\ext 디렉토리에 해당 모듈을 넣어주는 방식을 선호합니다. :-)
(이 방식은 개발시에 용이하지만, 실제 서비스를 해야 하는 경우라면 CLASSPATH 를 설정해 주는것이 올바른것 같습니다.)
servlet-api.jar, jsp-api.jar 파일을 JAVA_HOME\jre\lib\ext 디렉토리에 복사.
mysql-connector-java-5.0.5-bin.jar 파일을 JAVA_HOME\jre\lib\ext 디렉토리에 복사.
(mysql 버전에 따라 차이가 있습니다.)
여기까지의 설정만을 이용하면 Servlet 및 JSP 에서 MySQL Database 에 접근할 수 있었습니다. 굳이 MySQL 이 아닌 Oracle 이나 MS-SQL 역시 JDBC 드라이버만 JAVA_HOME\jre\lib\ext 디렉토리에 복사해 주면 정해진 API 를 통해 접근이 가능해 지는것을 확인하였습니다.
아직까지 마음에 들진 않지만.. 역시나 배우는 입장이니 시키는 대로 따라가 보아야 겠습니다. :-)

Prev

