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';
(通過connect命令可以與指定數據庫創建連接,通過一個JDBC URL來指定與哪個數據庫創建連接。ij命令是不區分大小寫的。參數中jdbc:derby是Derby數據庫的驅動協議;firstdb是數據庫名稱,由於沒有指定路徑,數據庫將會被創建在當前你命令行下所在的目錄下;create=true表示如果數據庫不存在,則創建該數據庫;";"是ij命令的終止符。當數據庫創建成功時,Derby會在當前你命令行下所在的目錄下創建一個與數據庫命一致(這里是mydb)的目錄,其中存放了數據庫的文件。)
連接之后便可使用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
注意:兩種模式連接數據庫時使用的驅動包不同
四、jar包說明
1.引擎庫
derby.jar是引擎庫(必須的)
For embedded databases.
You always need this library for embedded environments. For client/server environments, you only need this library on the server.
2.工具庫
-
- derbytools.jar: Required for running all the Derby tools (such as ij, dblook, and import/export).
- derbyrun.jar: Executable jar file that can be used to start the Derby tools.
3.網絡服務端庫
如果是通過網絡連接Derby(非嵌入方式),那么需要這個jar。
derbynet.jar: Required to start the Derby Network Server.
4.網絡客戶端庫
derbyclient.jar: Required to use the Derby network client driver.
5.本地語言庫
-
- derbyLocale_cs.jar Required to provide translated messages for the Czech locale.
- derbyLocale_de_DE.jar Required to provide translated messages for the German locale.
- derbyLocale_es.jar Required to provide translated messages for the Spanish locale.
- derbyLocale_fr.jar Required to provide translated messages for the French locale.
- derbyLocale_hu.jar Required to provide translated messages for the Hungarian locale.
- derbyLocale_it.jar Required to provide translated messages for the Italian locale.
- derbyLocale_ja_JP.jar Required to provide translated messages for the Japanese locale.
- derbyLocale_ko_KR.jar Required to provide translated messages for the Korean locale.
- derbyLocale_pl.jar Required to provide translated messages for the Polish locale.
- derbyLocale_pt_BR.jar Required to provide translated messages for the Brazilian Portuguese locale.
- derbyLocale_ru.jar Required to provide translated messages for the Russian locale.
- derbyLocale_zh_CN.jar Required to provide translated messages for the Simplified Chinese locale.
- derbyLocale_zh_TW.jar Required to provide translated messages for the Traditional Chinese locale.