將現存的內嵌式 SQL 應用程式升級至 DB2® 10.5 版,需要管理 DB2 10.5 版 及舊版之間會影響這些常式的變更,以及驗證這些常式是否如預期運作。
開始之前
限制
此程序僅適用於以 C、C++、COBOL、FORTRAN 和 REXX 進行程式設計的資料庫應用程式。
程序
若要將內嵌式 SQL 應用程式升級至 DB2 10.5 版,請執行下列動作:
- 如果已修改檔案庫路徑環境變數,請確保那些變數包括用於應用程式的正確 DB2 共用檔案庫路徑。此表格中所列的環境變數指定附加的路徑,讓應用程式可以在執行時期尋找適當的 DB2 共用檔案庫(在大部分情況下)。
在 Linux 作業系統上:如果使用 RPATH 鏈結選項鏈結應用程式,但沒有一併指定 RUNPATH 鏈結選項,則會在應用程式執行時期忽略 LD_LIBRARY_PATH 環境變數,因而造成應用程式失敗。
- 在 DB2 10.5 版 測試環境中測試內嵌式 SQL 應用程式。如果測試順利完成,則不需要執行任何附加的步驟。
- 如果您使用 BIND 指令連結內嵌式應用程式,並指定會啟用 LOB 直欄游標區塊傳輸的 BLOCKING ALL 或 BLOCKING UNAMBIGIOUS 子句,請確定 instance_memory 或 database_memory 資料庫配置參數已設為 AUTOMATIC,或增加其數值以納入額外的記憶體用量。
如果您無法增加這些資料庫配置參數,則有下列選擇:
- 使用指定 BLOCKING NO 的 BIND 指令來重新連結它們,或使用指定 SQLRULES STD 指令參數的 PRECOMPILE 指令來前置編譯它們。
BLOCKING NO 子句會停用應用程式中所有游標的區塊傳輸。
SQLRULES STD 指令參數可能有停用區塊傳輸游標以外的其他效果。
- 修改應用程式碼,並以 FOR UPDATE 子句宣告游標以停用區塊傳輸。
- 若要明確指定應用程式的正確 DB2 共用檔案庫路徑,請執行下列其中一項:
如果可以使用應用程式原始程式碼,請重建該應用程式。
指定必要的 DB2 共用檔案庫路徑。這是最佳選項。
建立 Wrapper Script 以執行應用程式。在封套 Script 中,明確將檔案庫路徑環境變數設為必要的 DB2 共用檔案庫路徑。
如果沒有可用的原始程式碼,請執行 db2chglibpath 指令,以更新應用程式之二位元碼內的內嵌式執行時期檔案庫路徑。此指令是依現狀提供,因此不到最後關頭不應使用它。
下一步
在升級內嵌式 SQL 應用程式之後,請執行升級資料庫應用程式作業中的其餘步驟。