下面為您介紹的調用DB2存儲過程方法實現的是Lotus Notes調用DB2存儲過程,如果您對DB2存儲過程方面感興趣的話,不妨一看。
編寫DB2存儲過程和Lotus Notes調用DB2存儲過程篇
使用DB2存儲過程的應用程序必須寫成兩個獨立的過程。主程序包含在客戶應用程序中,在客戶機上執行。主調程序可以用任何被支持的宿主語言編寫。存儲過程在數據庫服務器上執行,必須用一種支持數據庫服務器的編程語言編寫。
我們可以用Java編寫代理或用DECS、NotesPump實時Notes作業去調用存儲過程,如COBOL、REXX或Java。
Lotus Notes調用DB2存儲過程
我們用ExecProcedure方法去調用命名為testProce存儲過程。首先要在運行存儲過程的數據庫中為存儲過程編目,這使用CREATE PROCEDURE SQL語句。可以給存儲過程傳送多達30個參數這是LotusScript的限制)。這些參數用於輸入還是輸出,或者是既用於輸入、又用於輸出,取決於為存儲過程編目時對參數的定義。
客戶程序例如LoadEmployee代理在客戶機上運行,執行以下動作:
1.為可選數據結構和主機變量聲明、分配和初始化存儲空間:
[code:1:3f6f8a2cde]Dim SalaryMedian As Long
Dim WorkDept As String
其中:
SalaryMedian 主機變量
WorkDept 主機變量 [/code:1:3f6f8a2cde]
2.連接到數據庫:
[code:1:3f6f8a2cde]retcode%=Con.ConnectTo("DEMO","db2admin","db2admin")
其中:
DEMO 創建的訪問DB2的ODBC名稱
db2admin OS/400 user profile
db2admin Login password[/code:1:3f6f8a2cde]
3.通過ExecProcedure調用存儲過程:
[code:1:3f6f8a2cde]rc=res.ExecProcedure("testProce",SalaryMedian,workdept)
其中:
testProcedure 存儲過程的注冊名
SalaryMedian一個輸出變量,接收存儲過程傳遞的值
WorkDept存儲過程的一個輸出參數[/code:1:3f6f8a2cde]
4.從存儲過程接收數據:
[code:1:3f6f8a2cde]doc.SalaryMedian = SalaryMedian[/code:1:3f6f8a2cde]
5.斷開同數據庫的連接,隱式執行提交:
[code:1:3f6f8a2cde]If Not Res Is Nothing Then Res.Close(DB_CLOSE)
If Not Con Is Nothing Then Con.Disconnect[/code:1:3f6f8a2cde]
帶您了解DB2異常處理器類型
DB2連接服務器的配置
帶您了解DB2鎖的類型
DB2鎖機制深度分析
DB2添加驗證約束的實現