En esta sección, se proporcionan instrucciones de uso de la implementación de la base de datos Derby incluida con Application Server 8.2.
Sun Java System Application Server 8.2 presente dos nuevos comandos asadmin para iniciar y detener el servidor de red Derby.
El comando start-database puede utilizarse para iniciar una instancia del servidor de red Derby:
start-database [--dbhost 0.0.0.0] [--dbport 1527] [--dbhome path/derby] |
El valor predeterminado del host es 0.0.0.0, que permite a Derby recibir las solicitudes en localhost, así como las interfaces de IP/nombre de host. El valor de la propiedad dbhome representa la ubicación en la que reside la base de datos Derby. La ruta, path, predeterminada es <appserver_install_dir>/derby.
El comando asadmin stop-database se utiliza para detener la instancia del servidor de red Derby que se está ejecutando:
stop-database [--dbhost 0.0.0.0] [--dbport 1527] |
La configuración de Derby incluida con Application Server 8.2 también presenta varias secuencias de comandos de utilidad que pueden ayudarle a utilizar esta utilidad. Están disponibles las siguientes secuencias de comandos para su uso en el directorio <appserver_install_dir> /derby/frameworks/NetworkServer/bin:
startNetworkServer.ksh/bat: secuencia de comandos que se utiliza para iniciar el servidor de red.
stopNetworkServer.ksh/bat: secuencia de comandos que se utiliza para detener el servidor de red.
ij.ksh/bat: herramienta de creación de secuencias de comandos interactiva de JDBC.
dblook.ksh/bat: secuencia de comandos que permite ver de forma parcial o completa un DDL para la base de datos.
sysinfo.ksh/bat: secuencia de comandos que muestra información de la versión en relación con el entorno de Derby.
NetworkServerControl.ksh/bat: secuencia de comandos que proporciona un método para ejecutar comandos en la API de NetworkServerControl .
Defina la variable de entorno DERBY_INSTALL para que señale al directorio <appserver_install_dir>/derby.
Anule la definición de la variable de entorno CLASSPATH.
También puede definir opcionalmente las siguientes propiedades:
Para obtener más información sobre estas utilidades, consulte las herramientas y las guías de administración de Derby.
Este ejemplo muestra cómo capturar el DDL de una tabla en Pointbase y crear la misma tabla en Derby mediante Netbeans 5.0. También puede utilizar la herramienta de comandos y el comando 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;
Los resultados derivados de la ejecución de unload database se escriben en sampledb.sql, como se indica en el ejemplo anterior. El archivo sampledb.sql contiene todos los DDL necesarios para crear las tablas y los índices requeridos. También contiene el DML para insertar de nuevo los datos en la base de datos. El comando del programa de comandos RUN está diseñado para importar los datos en otra base de datos Pointbase mediante la secuencia de comandos generada. A continuación, se muestra un ejemplo de la apariencia que tienen las instrucciones INSERT y los datos asociados en el archivo generado:
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' };
Puede editar fácilmente el archivo generado a partir del comando unload database de tal forma que sólo esté compuesto por el DDL (por ejemplo, no sería tan complicado escribir un programa que procese las instrucciones insert). Como prueba, utilizamos el comando de anulación de la carga de la base de datos en la base de datos sample de Pointbase y, a continuación, editamos la secuencia de comandos generada, realizando los siguientes cambios:
Se ha eliminado Organization Heap del final de todas las instrucciones CREATE Table.
Se ha eliminado el comando COMMIT.
Se ha cambiado el valor booleano datatype por smallint .
Se han eliminado todas las instrucciones INSERT y sus datos asociados.
A continuación, se utiliza una secuencia de comandos Ant sencilla para ejecutar el DDL mediante el destino sql . Por último, se repite el mismo experimento para la base de datos sun-appserv-samples , que requiere que se efectúen los siguientes cambios adicionales en el archivo SQL generado:
Realice todos los cambios como se describe anteriormente para la base de datos de ejemplo.
Elimine los comandos create user.
Elimine los comandos SET PATH.
Cambie la precisión Decimal de 38 a un máximo, max, de 31.
Cambie la precisión float de 64 a un máximo, max, de 52.
Actualmente no se admite la palabra clave SPECIFIC para CREATE PROCEDURE.
Se han eliminado los comandos GRANT.
Para cambiar los procedimientos de Java de Pointbase para que funcionen con Derby, es necesario realizar varios cambios en el código de Java, así como en las instrucciones CREATE PROCEDURE. Puede encontrar información sobre la creación de procedimientos de Java de Derby en el manual de referencia de Derby. Se incluirá compatibilidad con el tipo de datos Boolean en la próxima versión de Derby.