SQLJ是什麼?優點?

chuanzhongdu1發表於2011-10-11
SQLJ 是一種允許把靜態的 SQL 語句以文字形式嵌入 Java 程式中的語言。在寫一個 SQLJ 應用程式時,我們編寫一段 Java 程式然後遵循某些特定的標準法則把 SQL 語句嵌入在其中,這些法則定義了 SQL 語句怎樣寫入 Java 程式(具體情況請看 Oracle 8i SQLJ 開發指南與參考 , 你可以在 Documentation Library 光碟上找到)。 
接下來,我們執行一個 SQLJ 翻譯器,通過把嵌入式結構化查詢語句替換為呼叫呼叫 SQLJ 執行時程式庫的方式把 SQLJ 程式轉換成一個標準的 Java 程式。生成的 Java 程式就可以使用任何標準的Java 編譯程式 ( 例如 javac) 來編譯瞭然後就可以配合資料庫使用了。 SQLJ 執行期環境是由一個瘦(即沒有額外系統開銷) SQLJ 執行時程式庫組成,也就是說用純 Java 實現呼叫相應的資料庫(Oracle, DB2 等等)的 JDBC 驅動程式。

   SQLJ 類似於其他的嵌入式結構化查詢語言的實現 ,  Oracle Pro * C ( 嵌入 C 語言環境的 SQL)  SQLJ 語言設計的目的就是幫助基於 Java 的程式設計師構建資料庫應用程式。 SQLJ 是一個 ISO ANSI 標準,也就是說由領頭的資料庫與軟體供應廠商開發和支援的,包括 ORACLE 資料庫管理系統公司 , 國際商業機器公司 , 美國賽貝斯公司 , Informix 公司,美國康柏公司等。所有這些公司合作開發相容的 SQLJ 翻譯器來實現使用不同的資料庫。

   SQLJ 的優點 

  一個編譯過的 SQLJ 應用程式是一個標準的 Java 程式,可以在任何具備三個元件的環境中執行,這三個元件是: JVM, SQLJ 執行時程式庫和 JDBC 驅動程式。 

  它提供了下列好處  

  緊湊的程式碼 SQLJ 程式碼比 JDBC 程式碼更加緊湊並且無差錯。在編譯時對語法和語義進行檢查。 SQLJ 編譯器提供了型別檢查和模式物件檢查來找出在 SQL 語句中的語法錯誤或遺漏或拼錯這樣的錯誤,這是在編譯過程中進行而不是在執行過程中進行。因此,使用 SQLJ 編寫的程式比使用 JDBC 編寫的程式更加健壯。 

  多廠商互用性 SQLJ 語法是由主要的軟體供應廠商開發和支援的。因為 SQLJ 程式使用執行時 JDBC 呼叫訪問資料庫,所以 SQLJ 可以訪問任何 JDBC 驅動程式可以實現的資料庫伺服器。 

  靈活的部署 因為 SQLJ 執行時程式庫是基於 Java 的程式,所以 SQLJ 應用程式可以在任何 JDBC 配置環境中配置,例如瘦客戶端,中間層或是資料庫伺服器上等。 

  供應廠商具體定製  SQLJ 通過後續的 Java 位元組碼的定製支援供應廠商具體產品的特色和擴充套件。它可以被用來改善 SQL 查詢語言的執行效能,使用具體供應廠商提供的效能或功能上的擴充套件,而不用考慮 SQLJ 程式如何變化,以及除錯和執行記錄等情況。


原文地址:http://www.blogjava.net/badboyryan/archive/2006/09/30/73020.html

相關文章