전자 정부 표준 프레임워크

Oracle 연동

 

egov는 기본적으로 MySQL을 사용하게 되어있습니다.

그러므로 Oracle을 사용하기 위해서는 따로 설정을 추가해주어야 합니다.

 

1. /프로잭트명/pom.xml 수정

pom.xml에 있는 <dependencies>를 찾아서 맨위에나 맨아래에 (맨위가 나아요)

<dependencies>
        ...
        <dependency>
            <groupId>com.oracle</groupId>
            <artifactId>ojdbc14</artifactId>
            <version>10.2.0.4.0</version>
        </dependency>
        ...
</dependencies>

을 추가하고 저장을 한번 합니다. 그러면

dependency만 추가하고 저장을 하면 에러가 발생합니다.

<repository>
    <id>mesir-repo</id>
    <url>http://mesir.googlecode.com/svn/trunk/mavenrepo</url>
</repository>

이것을 <dependencies> 바로위에 있는 <repositories>에 추가하면 에러가 사라집니다.

이렇게 말이죠

 

참고로 Oracle에 접속해서 데이터베이스를 하나생성할때 생기는 흔한 문제를 적어보겠습니다

listener refused the connection with the following error ora-12505
이러한 상태 실패 메세지가 나타나게 된다면 네모칸의 SID(DB의 이름)이 잘못된 것입니다.
sql plus를 실행시킵니다

SQL > select instance from v$thread; 라고 치게되면
현재 사용되고 있는 DB 인스턴스 이름을 알수있습니다
SID의 이름을 고치고 한번 테스트를 해봅시다.

성공 참 쉽죠?

 

2. Database 연결 설정 변경

/프로잭트명 /src /main /resources /egovframework /spring /context-datasource.xml 을 열어서 기본 HSQL 부분을 주석 처리 하고 오라클 관련 부분을 주석 해제 한 후

property에 url, username, password 부분을 자신의 환경에 맞게 변경 한다.
저는 scott / tiger 입니다

 

3. 샘플테이블 생성

처음에 프로잭트 생성하며 눌렀던 샘플 소스코드 생성을 테스트하려면 테이블을 생성해야 한다.

 

/프로잭트명 /DATABASE /db /sampledb_oracle.script 에 있는 스크립트를 오라클에서 실행하면 샘플 테이블이 생성된다.

DROP TABLE IF EXISTS  SAMPLE ; <- 지운다

CREATE TABLE SAMPLE (
  ID varchar(16) NOT NULL,
  NAME varchar(50) DEFAULT NULL,
  DESCRIPTION varchar(100) DEFAULT NULL,
  USE_YN char(1) DEFAULT NULL,
  REG_USER varchar(10) DEFAULT NULL,
  PRIMARY KEY (ID)
);

DROP TABLE IF EXISTS  IDS ; <- 지운다

CREATE TABLE IDS (
  TABLE_NAME VARCHAR(16) NOT NULL,
  NEXT_ID DECIMAL(30) NOT NULL,
  PRIMARY KEY (TABLE_NAME) 
);

INSERT INTO IDS VALUES('SAMPLE',0);

COMMIT;

일괄 실행시 DROP 문장의 문법이 틀려 에러가 나므로

DROP 문장을 주석 처리 또는 삭제 후 실행하자

INSERT INTO SAMPLE VALUES('SAMPLE-00001','Sample Test','This is initial test data.','Y','test');
INSERT INTO SAMPLE VALUES('SAMPLE-00002','test Name','test Desc','Y','test');
INSERT INTO SAMPLE VALUES('SAMPLE-00003','test','tset111222','Y','qqqq');
INSERT INTO SAMPLE VALUES('SAMPLE-00004','Sample Test1','This is initial test data.','Y','test');
COMMIT;

그냥 실행하면 데이터가 없다고 하니 데이터를 넣어야 된다

 

4. SQL Map 변경

/프로잭트명 /src /main /resources /egovframework /sqlmap /sql-map-config.xml 을 열어서 기본 쿼리를 주석처리 하고, 오라클용 쿼리에 주석을 제거한다.

 

4. 실행

이와같은 창이 뜨게되면 오라클과 egov연동에 성공한 것이다.

 

 

 

 

댓글

가늘고 길게~~

댓글 본문
작성자
비밀번호
버전 관리
김씨밥세끼드셨나요
현재 버전
선택 버전
graphittie 자세히 보기