derby数据库
一、简介
Derby 易于管理。当嵌入到客户机应用程序中时, Derby 系统不需要任何管理干预。
Derby 是可嵌入的。应用程序可以将数据库管理系统( Database Management System , DBMS )引擎嵌入应用程序进程中,从而无需管理单独的数据库进程或服务。通过网络服务器( Network Server )架构或您选择的服务器架构,可以将 Derby 作为单独的进程来运行。
Derby 是Java 编写的内存数据库,属于 Apache 的一个开源项目,是一个纯 Java 的类库:对于 Java 开发人员,这点十分重要,因为他们正试图维护 Java 技术的优点,例如平台无关性、易于配置以及易于安装。
Derby 不需要专有的 Java 虚拟机( Java Virtual Machine , JVM )。因为完全是用 Java 语言编写的,所以它适应所有合格的 JVM 。
DerbyDBMS 引擎是轻量级的。类文件大小大约是 2MB ,并且只使用了 4MB 的 Java 堆。
Derby 支持使用 Java 编写存储过程和函数,这些存储过程和函数可以在应用程序的任何层上运行。 Derby 没有专用的存储过程语言,它使用 JDBC 。
二、两种运行模式
1.内嵌模式。Derby数据库与应用程序共享同一个JVM,通常由应用程序负责启动和停止,对除启动它的应用程序外的其它应用程序不可见,即其它应用程序不可访问它;
2.网络模式。Derby数据库独占一个JVM,做为服务器上的一个独立进程运行。在这种模式下,允许有多个应用程序来访问同一个Derby数据库。
三、安装derby
1.在derby官网下载derby的包,然后解压。
- 建立DERBY_HOME,值:D:\db-derby-10.10.2.0-bin
- 在Path加入:%DERBY_HOME%\bin
- 在CLASSPATH加入:
- %DERBY_HOME%\lib \derby.jar;%DERBY_HOME%\lib\derbyclient.jar;%DERBY_HOME%\lib\derbytools.jar;%DERBY_HOME%\lib\derbynet.jar
2.运行(使用ij脚本)
(1)内嵌模式
在命令行中找到bin目录,使用输入ij使用ij工具(或单击ij.bat后启动ij工具)。然后通过如下命令创建数据库,并与数据库创建连接:
connect ‘jdbc:derby:mydb;create=true';
连接之后便可使用SQL语句操作数据库,或通过run命令运行sql文件:run 'E:/derby/demo/ToursDB_schema.sql'; 最后通过exit;来退出ij工具。 在当前你命令行下所在的目录中有一个derby.log的日志文件,derby在其中记录的数据库启动、关闭的信息。 连接驱动及URL: driver: org.apache.derby.jdbc.EmbeddedDriver url: jdbc:derby:E:/shiny/DdlUtils-test/mydb (2)网络模式 网络模式下,需要使用两个控制台窗口,一个用于启动Derby数据库服务端,另一个做为访问Derby数据库的客户端。 1.在命令行进入bin目录,运行startNetworkServer.bat启动数据库服务器; 2.另一个端口跟运行内嵌模式的Derby数据库类似,只是连接的命令不同: connect 'jdbc:derby://localhost:1527/E:/my/derby/mydb;create=true'; (其中localhost:1527是本地和端口号,后面的是G盘的某个数据库,也可以是网上的) 连接驱动及URL: driver: org.apache.derby.jdbc.ClientDriver url: jdbc:derby://localhost:1527/E:/my/derby/mydb 注意:两种模式连接数据库时使用的驱动包不同 1.引擎库 derby.jar是引擎库(必须的) 2.工具库 3.网络服务端库 如果是通过网络连接Derby(非嵌入方式),那么需要这个jar。 4.网络客户端库 derbyclient.jar: Required to use the Derby network client driver. 5.本地语言库 四、jar包说明
For embedded databases.
You always need this library for embedded environments. For client/server environments, you only need this library on the server.
derbynet.jar: Required to start the Derby Network Server.