應用程式程序、並行及回復
所有 SQL 程式都會在 應用程式程序中執行。 在 IBM® i 作業系統中,應用程式程序稱為工作。 在 ODBC、 JDBC、OLE DB、.NET 及 DRDA 的情況下,應用程式程序會在連線結束時結束,即使它們所使用的工作未結束且可能重複使用。
應用程式程序由一或多個啟動群組組成。 每一個啟動群組都涉及一個以上程式的執行。 程式在非預設啟動群組或預設啟動群組下執行。 除了 ILE 編譯器所建立的程式之外,所有程式都在預設啟動群組下執行。 例如, LANGUAGE JAVA 外部函數在預設啟動群組下執行。
如需啟動群組的相關資訊,請參閱書籍 ILE Concepts
。
使用確定控制的應用程式程序可以使用一個以上確定定義來執行。 確定定義提供在啟動群組層次或工作層次設定確定控制範圍的方法。 在任何給定時間,使用確定控制的啟動群組僅與其中一個確定定義相關聯。
可透過「啟動確定控制 (STRCMTCTL)」指令明確地啟動確定定義。 如果尚未啟動,則當在不同於 COMMIT (*NONE) 的隔離層次下執行第一個 SQL 陳述式時,會隱含地啟動確定定義。 多個啟動群組可以共用一個工作確定定義。
圖 1 顯示應用程式程序、該應用程式程序中的啟動群組及確定定義的關係。 啟動群組 A 和 B 以啟動群組範圍內的確定控制來執行。 這些啟動群組有自己的確定定義。 啟動群組 C 不使用任何確定控制執行,且沒有確定定義。

圖 2 顯示應用程式程序、該應用程式程序中的啟動群組,以及確定定義。 部分啟動群組正在使用工作確定定義執行。 啟動群組 A 和 B 在工作確定定義下執行。 啟動群組 A 或 B 中的任何確定或回轉作業都會影響兩者,因為確定控制以相同的確定定義為範圍。 此範例中的啟動群組 C 具有個別確定定義。 在此啟動群組中執行的確定及回復作業只會影響 C 內的作業。

如需確定定義的相關資訊,請參閱 確定控制 主題。