derby數據庫的了解及使用


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的包,然后解壓。

 

 

  1. 建立DERBY_HOME,值:D:\db-derby-10.10.2.0-bin  
  2. 在Path加入:%DERBY_HOME%\bin  
  3. 在CLASSPATH加入:  
  4. %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.工具庫

    1. derbytools.jar: Required for running all the Derby tools (such as ij, dblook, and import/export).
    2. 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.本地語言庫

    1. derbyLocale_cs.jar Required to provide translated messages for the Czech locale.
    2. derbyLocale_de_DE.jar Required to provide translated messages for the German locale.
    3. derbyLocale_es.jar Required to provide translated messages for the Spanish locale.
    4. derbyLocale_fr.jar Required to provide translated messages for the French locale.
    5. derbyLocale_hu.jar Required to provide translated messages for the Hungarian locale.
    6. derbyLocale_it.jar Required to provide translated messages for the Italian locale.
    7. derbyLocale_ja_JP.jar Required to provide translated messages for the Japanese locale.
    8. derbyLocale_ko_KR.jar Required to provide translated messages for the Korean locale.
    9. derbyLocale_pl.jar Required to provide translated messages for the Polish locale.
    10. derbyLocale_pt_BR.jar Required to provide translated messages for the Brazilian Portuguese locale.
    11. derbyLocale_ru.jar Required to provide translated messages for the Russian locale.
    12. derbyLocale_zh_CN.jar Required to provide translated messages for the Simplified Chinese locale.
    13. derbyLocale_zh_TW.jar Required to provide translated messages for the Traditional Chinese locale.

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM