Sun Java System Application Server 9.1 릴리스 노트

Pointbase에서 Java DB로 테이블 내보내기

이 예에서는 커맨더에서 Pointbase 테이블의 DLL을 캡처하고 NetBeans 5.0을 사용하여 같은 테이블을 Java DB에 만드는 방법을 보여 줍니다. 커맨더 도구와 unload database 명령을 사용하는 방법도 있습니다.

./startcommander.sh
Do you wish to create a new Database. (Yes (Y) or No (N))? [default: N]: 
Enter product to connect with: (Embedded (E) or Server (S))? [default: E]: e
Enter driver to use? [default: [com.pointbase.jdbc.jdbcUniversalDriver]: 
Enter database URL? [default: [jdbc:pointbase:embedded:sample]: 
Enter Username? [default: PBPUBLIC]: 
Enter Password? [default: PBPUBLIC]: 

PointBase Commander 5.2 ECF build 294 size restricted version EMBEDDED

Interactive SQL command language. SunOS/5.9

(C) Copyright 2004 DataMirror Mobile Solutions, Inc. All rights reserved.

Licensed to: Sun_customer_demo_use
For commercial version contact PointBase at: 
pointbase.com
PHONE: 1-877-238-8798 (US & CANADA)
       1-408-961-1100 (International)
WEBSITE: www.pointbase.com

SQL> unload database sampledb.sql;
SQL> unload database sampledb.sql;
SQL> 13 Row(s) Unloaded. (PBPUBLIC.CUSTOMER_TBL)
SQL> 4 Row(s) Unloaded. (PBPUBLIC.DISCOUNT_CODE_TBL)
SQL> 30 Row(s) Unloaded. (PBPUBLIC.MANUFACTURE_TBL)
SQL> 11 Row(s) Unloaded. (PBPUBLIC.MICRO_MARKETS_TBL)
SQL> 9 Row(s) Unloaded. (PBPUBLIC.OFFICE_TBL)
SQL> 4 Row(s) Unloaded. (PBPUBLIC.OFFICE_TYPE_CODE_TBL)
SQL> 15 Row(s) Unloaded. (PBPUBLIC.ORDER_TBL)
SQL> 6 Row(s) Unloaded. (PBPUBLIC.PRODUCT_CODE_TBL)
SQL> 30 Row(s) Unloaded. (PBPUBLIC.PRODUCT_TBL)
SQL> 10 Row(s) Unloaded. (PBPUBLIC.SALES_REP_DATA_TBL)
SQL> 10 Row(s) Unloaded. (PBPUBLIC.SALES_REP_TBL)
SQL> 52 Row(s) Unloaded. (PBPUBLIC.SALES_TAX_CODE_TBL)
SQL> 12 Table(s) Unloaded.
SQL> quit;

위의 예에서 unload database 명령 실행 결과가 sampledb.sql 파일에 기록됩니다. sampledb.sql 파일에는 필수 테이블과 색인을 만드는 데 필요한 모든 DDL이 포함되어 있습니다. 또한, 데이터베이스에 데이터를 다시 삽입하기 위한 DML도 포함되어 있습니다. commander 명령 RUN은 생성된 스크립트를 사용하여 데이터를 다른 Pointbase 데이터베이스로 가져오는 데 사용됩니다. 다음은 생성된 파일에서의 INSERT 문 및 관련 데이터의 모양을 보여주는 예입니다.

INSERT INTO "ADVENTURE"."CATEGORY" (
"CATID", "LOCALE", "NAME", "DESCRIPTION", "IMAGEURI" )
VALUES( ?, ?, ?, ?, ? );
{
'ISLAND              ','en_US','Island Adventures','Experience an island /
paradise in a way fit for your needs.','Island_Adventures.gif'
'JUNGLE              ','en_US','Jungle Adventures','Experience a jungle /
paradise in a way fit for your needs.','Jungle_Adventures.gif'
'MOUNTAIN            ','en_US','Mountain Adventures','Experience an /
elevated paradise with a view.','Mountain_Adventures.gif'
'ORBITAL             ','en_US','Orbital Adventures','Experience a vacuum /
paradise with a beautiful view and where no one can hear you scream.', /
'Space_Adventures.gif'
'WESTERN             ','en_US','Western Adventures','Enjoy the Wild West. /
','Western_Adventures.gif'
'SOUTH_POLE          ','en_US','South Pole Adventures','Experience a /
frozen paradise in a way fit for your needs.','SouthPole_Adventures.gif'
};

commander unload database 명령에서 생성된 파일이 DDL로만 구성되도록 쉽게 편집할 수 있습니다. 예를 들어, insert 문을 처리하는 프로그램을 쉽게 작성할 수 있습니다. 간단한 테스트를 위해 Pointbase의 sample 데이터베이스에 unload database 명령을 사용한 다음 생성된 스크립트를 편집하여 다음과 같이 변경했습니다.

다음으로 sql 대상을 사용하여 DDL을 실행하는 데 간단한 Ant 스크립트를 사용합니다. 마지막으로 sun-appserv-samples 데이터베이스에 대해 동일한 시험을 반복합니다. 여기서 생성된 SQL파일을 다음과 같이 추가로 변경해야 합니다.

Java DB에서 작동하는 Pointbase Java 프로시저를 변환하려면 Java 코드와 CREATE PROCEDURE 문을 일부 변경해야 합니다. Java DB Java 프로시저 작성에 대한 정보는 Derby Reference manual을 참조하십시오. Boolean 데이터 유형은 Java DB의 다음 릴리스에서 지원됩니다.