2010년 7월 21일 수요일

Apache Derby

Apache Derby는 100% Pure Java로 구현된 DBMS다

일반 DBMS 처럼 네트워크로 접속도 가능하고 JDBC를 사용하는 것도 지원한다.
뿐만 아니라 어플리케이션을 배포할 때 Embeded 형태로 데이터베이스를 사용할 수 도 있다.
자바로 개발된 경량 어플리케이션에서 별도의 DBMS가 없이도 데이터 처리를 가능하게 된 것이다.

네트워크 서버
서버 실행
$derby_home/bin/startNetworkServer

서버 종료
$derby_home/bin/stopNetworkServer

ij
데이터베이스에 접속

ij>connect 'jdbc:derby://localhost:1527/mydb;
create=true;traceFile=trace.out;user=user1;password=secret4me';

사용자나 비밀번호가 설정되지 않은 경우에는 아래와 같이 실행할 수 있다.
ij>connect 'jdbc:derby://localhost:1527/sampledb'

데이터 베이스에 접속한 이후에는 'show tables'를 비롯한 ij 명령어를 실행할 수 있다.

Embeded Derby


Caution!!!
Embeded Derby로 개발할 때 주의해야 할 사항이 있다.
Embeded Derby는 데이터 조회를 하기 쉽지 않기 때문에 Eclipse의 Data Source Explorer에서 연결해서 데이터를 조회하는 경우가 있다.
하지만 Data Source Explorer가 연결된 상태에서 Embeded Derby를 테스트 하게 되면 이미 다른 프로세스에서 Derby를 boot 하고 있다는 에러메시지가 출력되고 정상적으로 동작하지 않는다.
Embeded Derby 모드로 개발하고 테스트 할 경우에는 반드시 Data Source Explorer를 disconnect 해야 한다.

startup:
처음 커넥션이 생성될 때 부팅된다.
jdbc:derby:D:/apache/db-derby-10.6.1.0/bin/sampledb;create=true

shutdown:
DriverManager.getConnection("jdbc:derby:;shutdown=true");

댓글 없음:

댓글 쓰기