본문 바로가기

DB/Apache Derby

Step 2: ij Basics

Step 2: ij Basics

Introduction

ij는 SQL를 더비를 이용하여 상호작용 할 수 있는 툴이다. 이것은 Derby Embedded JDBC드라이버와 함께 사용할 수 있으며, 혹은 Derby Network Client와 같은 JDBC드라이버를 이용할 수 있다.

이번 섹션에서는 Derby Embedded JDBC드라이버를 이용하여 ij툴의 몇가지 기능에 대해서 소개한다. 여기에 나타난 정보는 매우 작은 부분이지만 시작하기에는 좋은 자료이다. 더욱 완벽한 기능을 알고자 한다면 Getting started with ij section in the Tools and Utilities Guide. 을 보기 바란다.

Set the environment

환경 결정은 다음 Configure Embedded Derby에서 확인하기 바란다.

Start up ij

이 명령어를 이용하여 ij를 실행한다.

java org.apache.derby.tools.ij


다음과 같은 내용을 볼 수 있다.

ij version 10.4 ij>


정확하게 설정하지 않은경우 다음과 같은 에러가 나온다.

java org.apache.derby.tools.ij Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/derby/tools/ij

이러한 문제를 해결하기 위해서는 "Configure Embedded Derby" and "Verify Derby" 을 확인해보면 된다.

Create a database

데이터베이스를 생성한다. create=true라는 속성을 URL에 추가하여 connection을 걸면 된다. 예를 들어 아래와 같이 MyDbTest라는 데이터베이스를 생성해보자.

ij> connect 'jdbc:derby:MyDbTest;create=true';


Now exit ij:

ij> exit;


윈도우 혹은 유닉스에서 디렉토리를 살펴보면 다음과 같은 내용을 확인해 볼 수 있다.

$ ls MyDbTest derby.log


MyDbTest디렉토리는 생성한 데이터베이스 정보에 대한 파일들이 만들어져 있다. derby.log는 에러로그이다. 이것은 예외상황에 대해서 도움을 줄 것이다.

Connect to a database

ij를 다시한번 실행하고 생성한 데이터베이스에 연결해보자. connect


java org.apache.derby.tools.ij ij> connect 'jdbc:derby:MyDbTest';

프로토콜은 ("jdbc:derby:")임을 확인할 수 있다. 그리고 데이터베이스는 ("MyDbTest")라는 것을 URL을 통해서 확인하기 바란다.

Protocol

내부적으로 ij는 프로토콜("jdbc:derby:")을 보고 기본적인 드라이버를 로드한다. 이 사례에서는 embedded JDBC드라이버를 로드하는 것에 대해서 보여준다. 우리느 아래에서 보여주는 프로퍼티에 대한 프로토콜정보를 확인해 볼 수 있다.


java -Dij.protocol=jdbc:derby: org.apache.derby.tools.ij ij> connect 'MyDbTest';

ij실행 프로퍼티에 대해서 더욱 많은 정보를 확인하기 위해서는 Starting ij using properties in the Tools and Utilities Guide. 를 확인하면 된다.

Database

MyDbTest데이터베이스에 연결 URL을 이용하여 연결하는 경우 MyDbTest 데이터베이스 디렉토리가 현재 워킹 디렉토리가 된다.

/home/bill/database가 현재 디렉토리라고 하자. 그리고 디렉토리의 위치를 통채로 다른 곳으로 이동했다면 다음과 같이 데이터베이스 연결 디렉토리를 새로 지정함으로 해서 연결이 가능하다.


java org.apache.derby.tools.ij ij> connect 'jdbc:derby:/home/bill/databases/MyDbTest';


또한 Derby system home 데이터베이스 위치 지정을 위해 다음과 같이 실행할 수 있다.

java org.apache.derby.tools.ij -Dderby.system.home=/home/bill/databases ij> connect 'jdbc:derby:MyDbTest';


개발자 가이드에서는 데이터베이스를 위한 더비에 대한 정보가 있다.

Execute SQL statements

일단 데이터베이스에 연결되면 SQL구문을 실행할 수 있다. ij는 각 구문의 종료자로 (;)를 보고 구분한다.

ij> create table derbyDB(num int, addr varchar(40));

ij> insert into derbyDB values (1956,'Webster St.');

ij> insert into derbyDB values (1910,'Union St.');

ij> update derbyDB set num=180, addr='Grand Ave.' where num=1956;

ij> select * from derbyDb;

Disconnect from a database

연결을 끊고자 할경우 다음과 같이 하면 된다. disconnect

ij> disconnect;

Exit

ij를 종료하고자 할경우 다음과 같이 하면 된다. exit

ij> exit;

Run SQL Scripts

SQL스크립트를 실행하기 위해서는 아래와 같이 실행하라.

ij> run 'my_file.sql';


또한 SQL스크립트를 커맨드라인에서 실행할 수도 있다.

java org.apache.derby.tools.ij my_file.sql


Tools and Utilities Guide는 SQL스크립트에 대한 더 많은 정보를 제공한다.


ij스텝을 완전하게 보았다면 다음 스텝으로 이동하자 "Step 3: Embedded Derby".

'DB > Apache Derby' 카테고리의 다른 글

Step 4: Derby Network Server  (0) 2008.06.10
Step 3: Embedded Derby  (1) 2008.06.10
Step 1: Install Software  (0) 2008.06.10