Sun Java System Application Server Platform Edition 8.2 发行说明

使用捆绑的 Derby 数据库

本节介绍了有关使用与 Application Server 8.2 捆绑在一起的 Derby 数据库实现的说明。

启动和停止 Derby 数据库

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

Derby 实用程序脚本

Application Server 8.2 附带的 Derby 配置还包括若干有用的脚本,这些脚本可有助于您使用 Derby。可以在 <appserver_install_dir>/derby/frameworks/NetworkServer/bin 目录中使用以下脚本:

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

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

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

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

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

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

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

另请参见

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

将 Pointbase 中的表导出到 Derby

本示例介绍如何使用 Netbeans 5.0 捕获 Pointbase 中表的 DDL 并在 Derby 中创建相同的表。也可以使用 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 过程转换为使用 Derby,需要对 Java 代码和 CREATE PROCEDURE 语句进行一些更改。有关创建 Derby Java 过程的信息,请参见 Derby 参考手册。Derby 的下一发行版将支持布尔变量数据类型。