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
程序如何變化,以及調試和運行記錄等情況。
posted on 2006-09-30 14:16
壞男孩 閱讀(1180)
評論(1) 編輯 收藏 所屬分類:
新知識學習