日期:2014-05-16  浏览次数:20455 次

Derby 数据库安装与配置
http://www.joyzhong.com/archives/558
http://licg1234.blog.163.com/blog/static/13908233320102247610214/

1          Derby数据库介绍
Derby是用纯Java写的一个事务、关系数据库,只占用很少的磁盘空间。Derby起源于CloudScape,后者是IBM从Informix获取的产品。在2004年,IBM决定将CloudScape开放源代码,使之成为Apache Software Foundation下的一个孵卵器项目,其名称为Derby。使用Derby的实际好处在于它需要最少的管理以及小的资源占用。磁盘上的数据库比较小,对于基本数据库,大约是2MB。管理最少的事实允许开发人员在代码中轻松地创建和使用数据库。这加速了开发。因为Derby支持归档在JAR文件中的数据库的存储,这使您只需分发JAR文件,因而部署变得如此轻松。

从2006年7月13日Java 6 JDK发布起,Derby就默认安装在C:\Program Files\Java\jdk1.6.0\db中,其中包含核心库、示范程序和示例数据库。
2          安装与配置
Derby官方主页:http://db.apache.org/derby/index.html
Derby下载页面:http://db.apache.org/derby/derby_downloads.html
       要安装Derby,你必须先从Derby的网站下载Derby最新版本的zip或者tar包。当前最新版本是db-derby-10.3.2.1-bin 。
发行版本有:
--二进制发行版包括了代码,示例程序和文档.已经优化了的jar文档在lib目录下
--lib发行版本包括了优化程序,部署Derby的最小jar的集合.
--lib-debug发行版本包括了调试Derby和报告问题的有用的最大集合.
--src发行版本包括了要来产生上面三个发行版的源文件.

安装Derby,只要把你下载的包文件解压到你指定的目录即可。
假定你下载的是二进制发行版。
解压下载的包,之后有以下几个子目录:
--demo包括了示例程序
--bin包括了运行和设置环境的代码
--javadoc包括了有源代码生产的aip文档
--doc包括了Derby文档
--lib包括了Derby的jar文件

根据Derby手册说明,配置Derby有几种方式:
1. 通过java命令运行安装目录lib相应的工具。
2. 通过运行Derby提供的脚本命令。先配置PATH环境变量指向Derby目录下bin目录,然后运行bin目录内相关批处理命令,即可。
3. 通过运行安装目录lib内的derbyrun.jar归档文件。
要手工通过Java命令运行Derby是很麻烦的,并且也不方便使用。可以将PATH环境变量指向Derby目录下bin目录,这时我们可以在其它地方也能过运行Derby。但是官方提供的相关处理脚本要配置环境变量比较多有点麻烦,需要指定CLASSPATH为:%Derby 安装目录%\lib\derby.jar; %Derby 安装目录%\lib\derbytools.jar; %Derby 安装目录%\lib\derbynet.jar; %Derby 安装目录%\lib\derbyclient.jar;。
为了不想多设置环境变量,我写了个批处理derbyrun.bat文件,只要将path指向该处理文件,就可以在任何地方运行Derby。注意:一定要将该文件放在安装目录bin下或者放在exec(自建目录)\derbyrun.bat
derbyrun.ba内容:

@echo off
@rem
@rem Derby Database Run Tools
@rem
@rem
@rem derbyrun.bat ij [-ppropertiesfile] [sql_script]
@rem derbyrun.bat sysinfo [-cp...] [-cp help]
@rem derbyrun.bat dblook [arg]*(or no arguments for usage)
@rem derbyrun.bat server [arg]*(or no arguments for usage)
@rem

@rem %~dp0 is expanded pathname of the current script under NT
set DERBY_HOME=%~dp0..

@rem echo "%DERBY_HOME%lib\derbyrun.jar"

rem Slurp the command line arguments. This loop allows for an unlimited number
rem of arguments (up to the command line limit, anyway).

set DERBY_CMD_LINE_ARGS=%1
if ""%1""=="""" goto beginRunCommand
shift
:setupArgs
if ""%1""=="""" goto beginRunCommand
set DERBY_CMD_LINE_ARGS=%DERBY_CMD_LINE_ARGS% %1
shift
goto setupArgs

:beginRunCommand
@rem run tools
java -jar "%DERBY_HOME%lib\derbyrun.jar" %DERBY_CMD_LINE_ARGS%


:end
set DERBY_CMD_LINE_ARGS=

运行数据库:
运行:<derbyrun
结果:
D:\temp\Download\db-derby-10.3.2.1-bin\bin<derbyrun
用法:
java -jar derbyrun.jar ij [-p propertiesfile] [sql script]
java -jar derbyrun.jar sysinfo [-cp ...] [-cp help]
java -jar derbyrun.jar dblook [args](或如果调用时没有使用参数,则可执行 jar 文
件将显示用法消息)
java -jar derbyrun.jar server [args](或如果调用时没有使用参数,则可执行 jar 文
件将显示用法消息)

注:derbyrun就相当于java -jar derbyrun.jar命令

运行:<derbyrun ij
结果:
D:\temp\Download\db-derby-10.3.2.1-bin\bin<derbyrun ij
ij 版本 10.3
ij<

然后运行创建数据库MyDBtest:
ij<Connect ‘jdbc:derby:MyDBtest;create=true’
在上面的Url中指定create=true,则创建一个新的数据库。
连接该数据库:
ij< Connect 'jdbc:derby:MyDBtest;';
ij(CONNECTION1)<

这时就可以运行相应SQL语句,进行数据库操作。该步骤为单用户嵌入式数据库操作。

让Derby运行在服务器模式下:
启动服务器:
Derbyrun server start 同于java -jar derbyrun.jar server start
关闭服务器:
Derbyrun server shutdown 同于java -jar derbyrun.jar server shutdown


3  &n