db프로젝트 생성
오라클 sql 접속 후 system계정에 접속 관리자 권한 설정하기
1) system에서 생성하는 이유는 system이 관리자이기 때문
2) session 권한 => 접속 권한을 준것 (세션이 있어도 리스너가 있어야 접근가능)
3) tablespace권한 => 땅을 사용할 수 있게 권한을 준것
4) sequence 권한 => 1씩 증가시키는 함수 생성
5) GRANT UNLIMITED TABLESPACE TO cos; > tableSpace에 용량을 제한두지 않는 설정
권한 부여 코드
CREATE USER cos IDENTIFIED BY cos1234;
GRANT CREATE SESSION TO cos;
GRANT CREATE TABLESPACE TO cos;
GRANT CREATE TABLE TO cos;
GRANT CREATE SEQUENCE TO cos;
GRANT UNLIMITED TABLESPACE TO cos;
이클립스로 돌아와서 db프로젝트에 com.cos.db 패키지 생성
내 프로젝트에 꼭 context.xml과 web.xml을 들고있어야 함
1) context.xml 은 서버가 실행될때 딱 한번만 실행 됨
2) web.xml은 한번 올려뒀다가 사용자가 들어올때마다(요청시마다) 실행 됨
context.xml 들어가서 코드확인 : <context>~</context> 묶여있는 것 확인
db프로젝트에 있는 META-INF에 XML File을 생성해줌
tomcat 사이트에서 복사 후 붙여넣기
1) <context>로 묶어준 후 톰캣 사이트에서 복사한 코드를 붙여넣기 함
2) 포트번호와 'mysid' 확인 > 'xe' 로 수정해야함
- http://tomcat.apache.org/
오라클 접속 후 포트 번호가 맞는지 확인
1) 나의 IP주소임.
2) 오라클에 접속하기 위한 포트번호가 1521 인것을 확인 할 수 있다.
3) mysid 는 접속을하기 위한 sid이다. (=> xe임)
username과 password를 변경해줌
1) cos / cos1234
2) maxTotal / maxIdle 은 내 사이트에 동시접속할 수 있는 사용자 수를 컨트롤할때 사용
3) 하드드라이브 용량을 알면 설정가능..(클라우드를 사용하기도함)
web.xml확인
com.cos.db패키지에 DBconnTest클래스를 생성 후 톰캣에서 코드를 복사해 붙임
1) db연결에 import 해야함 ( 꼭 javax가 들고있는 걸로)
2) javax로 import하는 이유 => dbcp는 톰캣이 들고있는 기술임 (javax는 톰캣이 들고있는것임)
3) 커넥션 풀링 기술임
복사한 코드에 에러가 날 예정
1) 코드 잡고 ctrl + shift + o => javax.naming.Context => next => javax.sql.DataSource
2) 에러가 사라짐
try -catch 잡기
1) try시 DB연결성공 문구 뜨게 설정
2) catch시 DB연결실패 문구 뜨게 설정
3) main에서 실행 해보기 > 실패가 뜸 > "context가 메모리에 뜨지 않아서임"(서버가실행될때만 context가 실행됨 )
4) 즉, main에서 실행하면 톰캣으로 실행되는 것이 아님
printStackTrace를 줘서 에러 원인 살펴보기
db프로젝트 안에 있는 lib 폴더에 ojdb6.jar 파일 옮김
1) 위치 : ( C:\oraclexe\app\oracle\product\11.2.0\server\jdbc\lib )
2) 통신하기위한 프로토콜을 넣어준 것임
db패키지 안 webapp폴더에 test.jsp 파일을 생성
test.jsp 파일에 DBconn.디비연결(); : 연결이 성공 됨
오라클에서 시스템 권한 설정하기
1) GRANT UNLIMITED TABLESPACE TO cos; => TABLESPACE에 용량에 제한을 두지않는 것
2) '테이블을 생성할 수 없습니다' 오류가 뜬다면 용량제한이 되어있는 것일 수 있음
cos계정 생성 후 product 테이블 생성하기
테이블 생성까지 되었는지 확인하기 : product 테이블이 생성됐음을 확인할 수 있음
TIP