呼叫層級介面

將 SQL 陳述式傳送至 DBMS 的最後一個技巧是透過呼叫層級介面 (CLI)。 呼叫層級介面提供可由應用程式呼叫的 DBMS 函式程式庫。 因此,呼叫層級介面類別似於常式程式庫,而不是嘗試將 SQL 與其他程式設計語言混合,大部分程式設計人員都習慣使用常式程式庫,例如 C 語言中的字串、I/O 或數學程式庫。請注意,支援內嵌 SQL 的 DBMS 已經有呼叫層級介面,這是先行編譯器所產生的呼叫。 不過,這些呼叫是未記載的,而且可能會變更,恕不另行通知。

呼叫層級介面通常用於用戶端/伺服器架構中,其中應用程式 (用戶端) 位於某部電腦上,而 DBMS (伺服器) 位於不同電腦上。 應用程式會在本機系統上呼叫 CLI 函式,而這些呼叫會透過網路傳送至 DBMS 進行處理。

呼叫層級介面類別似於動態 SQL,在該 SQL 陳述式會傳遞至 DBMS,以在執行階段處理,但與整體的內嵌 SQL 不同,因為沒有任何內嵌 SQL 陳述式,而且不需要先行編譯器。

使用呼叫層級介面通常涉及下列步驟:

  1. 應用程式會呼叫 CLI 函式以連線到 DBMS。

  2. 應用程式會建置 SQL 陳述式,並將其放在緩衝區中。 然後它會呼叫一或多個 CLI 函式,將陳述式傳送至 DBMS 以進行準備和執行。

  3. 如果陳述式是 SELECT 陳述式,應用程式會呼叫 CLI 函式,以傳回應用程式緩衝區中的結果。 一般而言,此函式會一次傳回一個資料列或一個資料行。

  4. 應用程式會呼叫 CLI 函式以從 DBMS 中斷連線。