存儲過程是使用大型關系型數據庫DB2進行開發時,考慮最多的關鍵問題之一。本文對使用CLI來開發DB2存儲過程進行了詳述,並附開發實例,供您參考。
■DB2存儲過程
存儲過程Store Procedure)是Client/Server應用中的一種編程方式,主要是為了解決客戶端應用訪問數據庫時可能出現的網絡負擔過重的問題。
一般意義上,DB2為存儲過程的編寫提供了三種方式不包括直接使用DB2的Store Procedure Builder生成的方式):第一種是嵌入式SQL編程;第二種是CLI編程;第三種是純SQL編程。本文將重點介紹CLI編程。
■CLI編程
CLICall Level Interface)編程是DB2提供的一種編寫動態數據庫讀寫程序的方式。在CLI編程中,所有SQL語句都通過DB2提供的一組C語言函數來執行,因此可以在Visual Studio中直接開發。下面,我們首先要簡單介紹一下CLI的工作過程和方式。
CLI程序主要由三個部分組成:首先是環境變量初始化過程,其次是語句的執行,最後是環境變量的釋放。我們將通過一個具體的例子來討論這三個過程。
■開發實例
該例子的數據庫是DB2可以自動生成的Sample庫,例子所完成的操作是從數據庫中獲取ID等於輸入參數值的員工姓名,例子的整個過程雖然非常簡單,但已經包含了CLI編程的基本思路和步驟。
1. 初始化環境變量
在CLI中有三個句柄,分別是環境句柄、連接句柄、語句句柄。在初始化過程中首先要對前兩個句柄逐一進行獲取,獲取成功後可連接數據庫並獲取第三個句柄。
SQLRETURN ret;
SQLHENV henv; // 環境句柄
SQLHDBC hdbc; // 連接句柄
SQLHSTMT hstmt; // 語句句柄
SQLCHAR DBNAME[]="SAMPLE"; //數據庫名