Versionshinweise zu Sun Java System Application Server 9.1

Exportieren von Tabellen aus Pointbase in Java DB

Dieses Beispiel zeigt, wie Sie die DDL für eine Pointbase-Tabelle im Commander erfassen und dieselbe Tabelle in Java DB unter Verwendung von NetBeans 5.0 erstellen. Eine weitere Möglichkeit für diese Aufgabe ist die Verwendung des Commander-Tools und des unload database-Befehls:

./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;

Die Ergebnisse der Ausführung des Befehls unload database werden im oben stehenden Beispiel in die Datei sampledb.sql geschrieben. Die Datei sampledb.sql enthält die gesamte, für die Erstellung der erforderlichen Tabellen und Indizes nötige DDL. Außerdem enthält sie die DML, die zum Wiedereinfügen der Daten in die Datenbank erforderlich ist. Der Commander-Befehl RUN ist für den Import der Daten in eine andere Pointbase-Datenbank gedacht, unter Verwendung des generierten Skripts. Hier ein Beispiel für INSERT-Anweisungen und die zugehörigen Daten in der generierten Datei:

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'
};

Die über den Commander-Befehl unload database erstellte Datei kann problemlos so bearbeitet werden, dass sie nur aus der DDL besteht (beispielsweise ist es einfach, ein Programm zu schreiben, das die insert-Anweisungen verarbeitet). Als einfaches Beispiel wenden wir den Befehl "unload database" auf die sample-Datenbank an und bearbeiten anschließend das generierte Skript, indem wir folgende Änderungen vornehmen:

Als nächstes wird ein einfaches Ant-Skript zur Ausführung der DLL mithilfe des sql -Ziels verwendet. Schließlich wird dasselbe Experiment für die Datenbank sun-appserv-samples wiederholt, wobei folgende zusätzliche Änderungen an der generierten SQL-Datei erforderlich sind:

Um die Pointbase-Java-Vorgänge für die Zusammenarbeit mit Java DB zu konvertieren, sind einige Änderungen am Java-Code sowie an den CREATE PROCEDURE-Anweisungen erforderlich. Informationen zur Erstellung der Java DB-Jav-Vorgänge finden Sie im Derby-Referenzhandbuch. Unterstützung für den Datentyp Boolesch sollte in der nächsten Version von Java DB vorliegen.