Sun Java System Application Server 9.1 发行说明

使用捆绑的 Java DB 数据库

本节介绍了有关使用 Application Server 9.1 捆绑的 Java DB 数据库实现的说明。Java DB 基于 Apache Derby 数据库

启动和停止 Java DB 数据库

Sun Java System Application Server 9.1 引入了两个新的 asadmin 命令,用于启动和停止 Java DB 网络服务器。

Java DB 实用程序脚本


注 –

这些脚本将在 Application Server 9.1 中停止使用。


Application Server 9.1 附带的 Java DB 配置还包括几个有用的脚本,可帮助您使用 Java DB。以下脚本可用于 <appserver_install_dir>/javadb/frameworks/NetworkServer/bin 目录中:

Procedure配置环境以运行 Java DB 实用程序脚本

  1. DERBY_INSTALL 环境变量设置为指向 <appserver_install_dir>/javadb 目录。

  2. 取消 CLASSPATH 环境变量的设置。

  3. 还可以有选择地设置以下属性:

    1. DERBY_SERVER_HOST 设置为网络服务器将侦听的主机。

      还可以设置为 0.0.0.0 来启用所有侦听器。

    2. DERBY_SERVER_PORT 设置为网络服务器将侦听的端口号。

另请参见

有关这些实用程序的更多信息,请参见 Derby 工具管理指南

将 Pointbase 中的表导出到 Java DB

本示例介绍如何使用 NetBeans 5.0 捕获 commander 中 Pointbase 表的 DDL 以及在 Java DB 中创建相同的表。也可以通过使用 commander 工具和 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 样例数据库使用 unload database 命令,然后编辑生成的脚本,可做出如下更改:

接下来,使用简单的 Ant 脚本执行使用 sql 目标的 DDL。最后,对 sun-appserv-samples 数据库重复执行相同的操作,并对生成的 SQL 文件做出如下更改:

要将 Pointbase Java 过程转换为使用 Java DB,需要对 Java 代码和 CREATE PROCEDURE 语句进行某些更改。可在 Derby 参考手册 中查看有关创建 Java DB Java 过程的信息。Java DB 的下一版将支持布尔变量数据类型。