Sun Java System Application Server 9.1 版本說明

將表格從 Pointbase 匯出至 Java DB

此範例顯示如何在指令程式中擷取 Pointbase 表格的 DDL,以及如何在 Java DB 中使用 NetBeans 5.0 建立相同的表格。另外還可以使用指令程式工具和 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。指令程式指令 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'
};

您可以輕鬆編輯指令程式 unload database 指令產生的檔案,以使該檔案僅包含 DDL (例如,可輕鬆撰寫用來處理 insert 陳述式的程式)。我們做個簡單的測試,針對 Pointbase sample 資料庫使用 unload database 指令,然後編輯產生的程序檔,執行以下變更︰

接下來,使用 Ant 程序檔藉由 sql 目標執行 DDL。最後對 sun-appserv-samples 資料庫重複相同的實驗,並對產生的 SQL 檔案進行更多變更︰

若要將 Pointbase Java 程序轉換為使用 Java DB,則除需變更 Java 程式碼外,還需變更 CREATE PROCEDURE 陳述式。有關建立 Java DB Java 程序的資訊,可參閱 Derby Reference manual。Java DB 的下一個發行版本將支援 Boolean 資料類型。