DB2® SQLJ 支援可讓您建置及執行 SQLJ Applet 和應用程式。DB2 SQLJ 設定檔自訂程式 db2sqljcustomize 是 SQLJ 的其中一個元件,另外兩個元件是轉換器和執行時期。
開發 SQLJ 應用程式時,首先要在 .sqlj 檔執行 DB2 SQLJ 轉換器,轉換來源 SQLJ 程式。轉換結果是以來源 SQLJ 程式中的內嵌 SQL 陳述式,以及在個別的序列化 SQLJ 設定檔(.ser 檔)中建立的 SQL 陳述式的二進位表示法為依據的 Java™ 碼。
接著您可以執行 DB2 SQLJ 設定檔自訂程式,來處理這個 .ser 檔。自訂程式會以在執行時期使用的 DB2 特定資訊,增強設定檔。依預設,含有經過前置編譯之程式碼的靜態 SQL 資料包,是在自訂設定檔時所建立。而在執行應用程式時,就是要擷取這些資料包。就因為擷取這些資料包,所以應用程式的執行速度,會比使用 JDBC 時的速度更快。使用 JDBC 時,程式碼必須動態編譯,因而所花的時間也較長。您可以指定 -automaticbind no 選項,來延遲建立資料包的時間。不過無論如何,還是要先建立它們,才能執行應用程式。
總之,使用 DB2 SQLJ 設定檔自訂程式的時間,是介於轉換應用程式之後,以及執行它之前。
DB2 SQLJ 設定檔自訂程式和 EJB 部署
您必須先執行 EJB 部署工具,才能利用 SQLJ 部署 Enterprise Bean 來存取資料。這個工具會呼叫 DB2 SQLJ 轉換器,產生自行設定檔。每一個 EJB JAR 檔至少都有一個自行設定檔。這些檔案位於 websphere_deploy 目錄下的一個子目錄中,例如,FS_TopDown1_SJProfile0.ser。
現在您就可以執行 DB2 SQLJ 設定檔自訂程式了。為了讓自訂步驟更加容易,當您對 EAR 檔執行附有 -sqlj 選項的 SQLJ ejbdeploy 指令時, 它會產生一個 Ant Script,這個 Ant Script 可以針對相關 EAR 中每一個 EJB JAR 中的每一個自行設定檔,執行 DB2 SQLJ 設定檔自訂程式。 這個 Script 會以修改過的自行設定檔更新每一個 EJB JAR 檔,並且將 EAR 中的 JAR 檔,換成修改過的版本。這個 Ant Script 是對應的 EAR 檔所特有,它會修改現有的 EAR 檔。
自訂步驟(亦即針對自行設定檔執行 db2sqljcustomize)會建立四個含有靜態 SQL 的資料庫資料包,每一個資料包適用於每一種隔離層次。自訂步驟也會更新所產生的自行設定檔,而更新後的設定檔,必須能夠在執行時期,被所產生的程式碼使用。它們必須包含在實際的 EJB JAR 檔中,其安裝在 WebSphere® Application Server。
如果不執行自訂步驟,Enterprise Bean 仍然會執行,但就不會使用儲存在資料庫中的靜態 SQL,也無法得到 SQLJ 的任何效能優勢。
如需有關執行 DB2 SQLJ 設定檔自訂程式的相關資訊,請參考 DB2 文件,或者造訪 www7b.boulder.ibm.com/dmdd/zones/java/bigpicture.html(SQLJ 支援區段)。