利用IBM Java Toolbox for i實現針對數據庫文件的記錄級訪問

從文件系統的角度,IBM i 提供了對 POSIX 類文件系統 IFS(或集成文件系統)的強大支持。從數據庫的角度,IBM i 內置有關系數據庫 DB2。作為 IBM i 平臺應用普遍的數據庫文件,則是以文件的視圖訪問數據庫。

對于從事 ibm i 平臺的應用開發而言,如何使用 ibm java toolbox for i 訪問文件是非常重要的技能。本文的目標是系統性介紹如何利用 ibm java toolbox for i 實現針對數據庫文件的記錄級訪問(rla 或 record level access),并指出 jdbc 與 rla 兩種技術的區別。

從文件系統的角度,IBM i 提供了對 POSIX 類文件系統 IFS(或集成文件系統)的強大支持。從數據庫的角度,IBM i 內置有關系數據庫 DB2。作為 IBM i 平臺應用普遍的數據庫文件,則是以文件的視圖訪問數據庫。對于從事 IBM i 平臺的數據庫應用開發而言,如何使用 IBM Java Toolbox for i 訪問數據庫文件是非常重要的技能。本文的目標是系統性介紹如何利用 IBM Java Toolbox for i 實現針對數據庫文件的記錄級訪問(RLA 或 Record Level Access),并指出 JDBC 與 RLA 兩種技術的區別。

從文章結構上,本文首先介紹 IBM i 數據庫文件的基礎知識。接下來,以客戶信息數據庫為例,指導讀者如何使用 IBM Java Toolbox for i 創建數據庫文件,然后添加、檢索、更新與刪除客戶記錄。另外,關于 IBM Java Toolbox for i 對數據庫鎖,游標,事務的相關支持,本文也所涉及。

IBM i 數據庫文件

我們從文件系統與數據庫這兩個維度分別介紹 IBM i 數據庫文件的基本概念。

IFS 文件 vs 數據庫文件

首先,從文件的角度,IBM i 提供兩種文件資源形式:IFS 文件與數據庫文件。所謂 IFS(或 Integrated File System)指的是一種 POSIX 類文件系統,文件存在形式是一個字節序列,沒有任何數據格式。IFS 的訪問方式分為順序與隨機兩種。而數據庫文件具有指定的數據格式。我們稱數據庫文件的訪問方式為記錄級訪問。有關 IFS 文件與數據庫文件的區別,見圖 1。

立即學習Java免費學習筆記(深入)”;

圖 1. IFS 文件 vs 數據庫文件
利用IBM Java Toolbox for i實現針對數據庫文件的記錄級訪問

DB2 vs 數據庫文件

接下來,我們從數據庫的角度對比數據庫文件與數據庫表。表 1 描述了 IBM i 系統對象和 DB2 對象的對應關系。結合清單 1,我們可以簡單地認為,IBM i 數據庫文件有若干數據記錄組成,這些數據記錄以文件成員(Member)的形式呈現,每一個成員提供訪問數據記錄的路徑。而每一條記錄由各個字段組成,其對應關系為:行(Row) – 記錄(Record), 列(Column) – 字段(Field)。從這個角度而言,數據庫表的記錄格式與物理文件的記錄格式完全相同。

表 1 IBM i 系統對象和 DB2 對象的對應關系

DB2 對象 IBM i 對象
模式(Schema) 庫(Library)
表(Table) 數據庫文件(Database Files)

JDBC 訪問 vs 基于 RLA 訪問

對于數據庫的操作,無論從關系型數據庫表的角度,還是 IBM i 數據庫文件的角度,IBM Java Toolbox for i 均提供了 OO 編程級別的支持。

JDBC 是一種以 SQL 語句為核心的標準編程接口。IBM Java Toolbox for i 提供了標準的 JDBC 數據庫編程實現。RLA(Record Level Access)則是一種以 SQL API 為核心的數據庫文件訪問技術。換句話說,不同于 IBM Java Toolbox for i 與數據庫主機基于 Socket 的請求 / 相應式交互模式,RLA 直接調用 IBM i 底層的 Call Level Interface(調用級接口),屬于直接調用 IBM i 本地 API 的方式,因此數據庫的訪問性能上要優于前者。

? 版權聲明
THE END
喜歡就支持一下吧
點贊7 分享