Notas de la versión de Sun Java System Application Server 9.1

Utilización de la base de datos Java DB incluida

En esta sección, se proporcionan instrucciones de uso de la implementación de la base de datos Java DB incluida con Application Server 9.1. Java DB está basada en la base de datos Apache Derby.

Inicio y detención de la base de datos Java DB

Sun Java System Application Server 9.1 presenta dos nuevos comandos asadmin para iniciar y detener el servidor de red Java DB.

Secuencias de comandos de la utilidad Java DB


Nota –

Estas secuencias de comandos han sido desaprobadas en Application Server 9.1.


La configuración de Java DB incluida con Application Server 9.1 también presenta varias secuencias de comandos útiles que pueden ayudarle a usar Java DB. Las siguientes secuencias de comando pueden utilizarse en el directorio <appserver_install_dir> /javadb/frameworks/NetworkServer/bin:

ProcedurePara configurar el entorno para ejecutar las secuencias de comandos de la utilidad Java DB

  1. Cambie la variable del entorno DERBY_INSTALL para que apunte al directorio <appserver_install_dir>/javadb.

  2. Anule la definición de la variable de entorno CLASSPATH.

  3. También puede definir opcionalmente las siguientes propiedades:

    1. Defina DERBY_SERVER_HOST en el host en el que el servidor de red recibirá las solicitudes.

      También puede definirlo como 0.0.0.0 para habilitar todas las escuchas.

    2. Defina DERBY_SERVER_PORT en el número de puerto en el que el servidor de red recibirá las solicitudes.

Véase también

Para obtener más información sobre estas utilidades, consulte las herramientas y las guías de administración de Derby.

Exportación de tablas de Pointbase a Java DB

Este ejemplo muestra cómo capturar el DDL para una tabla de Pointbase en commander y crear la misma tabla en Java DB con NetBeans 5.0. También puede hacerse esto mismo mediante la herramienta commander 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:

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:

Para cambiar los procedimientos de Java de Pointbase para que funcionen con Java DB, 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 Java DB en el manual de referencia de Derby. Se incluirá compatibilidad con el tipo de datos Boolean en la próxima versión de Java DB.