跳至內容

ApacheDerby

出自Taiwan Tongues 台語維基
於 2025年8月22日 (五) 13:02 由 TaiwanTonguesApiRobot留言 | 貢獻 所做的修訂 (從 JSON 檔案批量匯入)

(差異) ←上個修訂 | 已批准修訂 (差異) | 最新修訂 (差異) | 下個修訂→ (差異)

Apache Derby是 Apache 軟體基金會所研發的開放原始碼資料庫管理系統;因為 Derby 是一个純 Java 程式,所致只要作業系統支援 Java 虛擬機,Derby 就會當執行。

特性

Derby 是特別為 Java 環境進行優化,Derby 本身毋但是一个純 Java 程式,而且 Derby 咧執行使用者的 SQL 程式的時陣,會當共 SQL 編譯做 Java bytecode 閣以系統的 Java 虛擬機執行。因為 SQL 程式轉成的 Java bytecode 會去予 JIT 動態翻譯,所以 Derby 可能比傳統的資料庫管理系統閣較好的效能。

其他的特色包括:

  • 支援主去對架構抑是1875入環境
  • 加執行緒
  • ACID
  • Java 資料庫連接(JDBC)
  • 低系統需求:約佔二 MB 的硬碟空間,壓縮了後更加只是六百 KB

商業的版本

  • Cloudscape-IBM 的 Derby 版本。
  • Java DB-昇陽電腦自 Java 六把 Derby 包括著 JDK。

安裝

下載解壓了後,只需要組態好相關的環境變數:

一 . 建立 DERBY \ _ HOME,值例:D : \ db-derby 鋪十一空 . 二孵空-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

  • derby . jar 是 ia̋n-jín 庫。嘿入式是必須的;嘿客戶 / 侍服器的模式,侍服器捀著愛這庫
  • derbytools . jar 是 Derby 工具庫,如 ij , dblook , import / export
  • derbyoptionaltools . jar
  • derbynet . jar 通過網路侍服器連接 Derby(一定是入去方式)
  • derbyclient . jar : 網路客戶捀啟動程式
  • derbyrun . jar : 執行 jar 檔案用佇簡便地啟動 Derby 工具抑是侍服器。若需要佮其他 jar 檔案佇仝一个 kha-tá-lok-guh 落
  • java-jar % DERBY \ _ HOME % \ lib \ derbyrun . jar ij [-p propertiesfile ] [sql \ _ script]
  • java-jar % DERBY \ _ HOME % \ lib \ derbyrun . jar sysinfo [-cp . . . ] [-cp help ]
  • java-jar % DERBY \ _ HOME % \ lib \ derbyrun . jar dblook [arg] \ * ( or no arguments for usage )
  • java-jar % DERBY \ _ HOME % \ lib \ derbyrun . jar server [arg] \ * ( or no arguments for usage )

使用

sysinfo 抑是 java org . apache . derby . tools . sysinfo 檢視安裝資訊版本啟動 derby 的網路侍服器,預設監聽一百二十七交零 . 空九一的一千五百二十七埠,會當修改監聽的 IP 和 PORT

` ` ` java org . apache . derby . drda . NetworkServerControl start-p 一千三百八十八 # 指定捀口 ` ` `

抑是講

` ` ` startNetworkServer-h myhost-p 一千三百八十八 # 指定 ip 佮捀口 ` ` `

抑是講

` ` ` java-jar derby / lib / derbyrun . jar server start ` ` `

dblook 家私頭仔是一个 Data Definition Language ( DDL ) 生做工具,會當解除安裝(dump)所有抑是部份使用者指定的 DDL 到一个檔案抑是控制台。

啟動 JDBC 客戶捀工具 ij,會當執行 SQL 指令碼抑是互動式查詢:

` ` ` ij 抑是 java org . apache . derby . tools . ij 抑是 java-jar derby / lib / derbyrun . jar ij-p ij . properties ` ` `

ij 命令列參數:

` ` ` ij-Dij . connection . mynetconnection=jdbc : derby : / / myserver : 千五百二七 / mydb-Dij . user=me-Dij . password=nocansay ` ` `

嘛會當建立一个名為 ij . properties,用佇咧預設連接資料庫:

` ` ` ij . driver=org . apache . derby . jdbc . ClientDriver ij . protocol=jdbc : derby : / / localhost : 千五百二七 / ij . database=COREJAVA ; create=true ` ` `

抑是先設定環境變數:

` ` ` set DERBY _ OPTS=-Dij . protocol=jdbc : derby : / / localhost / ` ` `

佇咧 ij 客戶捀工具內底,無分講大細寫,逐條命令攏應當分號結尾。

連接資料庫並佇必要的時陣建立資料庫:

` ` ` connect'jdbc : derby : mydb ; create=true ; user=test ; password=test'; / / 鋪建 / 抹著接楷入式的擴竭 , / / 若是干焦鋪排甲甲紅眠鼻佇咧鋪頭前目前鋪排甲紅目睭 / / 也會當指定其他位置趨勢鋪建 " jdbc : derby : d : / a / b / userDB ; create=true ; user=test ; password=test " connect'jdbc : derby : / / host : 千五百二七 / dbname ; create=true'; / / 鋪建 / 鋪排甲甲乒乓叫 ` ` `

檢視 ij 的命令:

` ` ` help ; ` ` `

執行 sql 檔案:

` ` ` run'D : / derby / demo / ToursDB _ schema . sql'[RunResultOutput . txt]; ` ` `

斷開的資料庫連接(閣停止內嵌模式的資料庫)

` ` ` disconnect ; ` ` `

登出客戶捀:

` ` ` exit  ; ` ` `

關起資料庫侍服器:

` ` ` java-jar derby / lib / derbyrun . jar server shutdown ` ` `

命令列當前 kha-tá-lok-guh 中 derby . log 紀錄檔檔案,derby 佇其中記錄的資料庫啟動、關起來的資訊。

Java 程式存取 Derby 資料庫:

啟動 Derby 佇咧網路侍服器的 Java 程式:

Schema 實現

Apache Derby 資料庫(即 Java DB)的任何 connection 的佇彼个時陣 schema,是對應該使用者名稱的一个 schema。若使用者名予人提供,當前使用者名稱佮當前 schema 預設的是 APP。

但是就算講彼陣 schema 予人設定做使用者名稱,這乎 schema 猶原可能無存在。一个 schema 干焦會當予人建立:通過 CREATE SCHEMA 語句顯式建立或者是建立一个物件(譬如講表等)來隱式建立。

APP schema 總是佇咧,毋免建立。

你若程式去試圖存取當前 schema 但是 schema 下無建立任何物件,就會拄著「schema not exists」錯誤。

註解

參見

  • Berkeley DB Java Edition-另外一純 Java 資料庫管理系統。

外部連結

  • (英文)Derby 官方網站
  • (英文)Cloudscape 官方網站
  • (英文)Java DB 官方網站
  • (簡體中文)Apache Derby 專案資源 ( IBM )