SQLJ
是一種允許把靜態(tài)的
SQL
語句以文本形式嵌入
Java
程序中的語言。在寫一個
SQLJ
應用程序時,我們編寫一段
Java
程序然后遵循某些特定的標準法則把
SQL
語句嵌入在其中,這些法則定義了
SQL
語句怎樣寫入
Java
程序(具體情況請看
Oracle 8i SQLJ
開發(fā)指南與參考
,
你可以在
Documentation Library
光盤上找到)。
接下來,我們運行一個
SQLJ
翻譯器,通過把嵌入式結(jié)構(gòu)化查詢語句替換為調(diào)用調(diào)用
SQLJ
運行時程序庫的方式把
SQLJ
程序轉(zhuǎn)換成一個標準的
Java
程序。生成的
Java
程序就可以使用任何標準的
Java
編譯程序
(
例如
javac)
來編譯了然后就可以配合數(shù)據(jù)庫使用了。
SQLJ
運行期環(huán)境是由一個瘦(即沒有額外系統(tǒng)開銷)
SQLJ
運行時程序庫組成,也就是說用純
Java
實現(xiàn)調(diào)用相應的數(shù)據(jù)庫(
Oracle, DB2
等等)的
JDBC
驅(qū)動程序。
SQLJ
類似于其他的嵌入式結(jié)構(gòu)化查詢語言的實現(xiàn)
,
像
Oracle Pro * C (
嵌入
C
語言環(huán)境的
SQL)
。
SQLJ
語言設(shè)計的目的就是幫助基于
Java
的程序員構(gòu)建數(shù)據(jù)庫應用程序。
SQLJ
是一個
ISO
和
ANSI
標準,也就是說由領(lǐng)頭的數(shù)據(jù)庫與軟件供應廠商開發(fā)和支持的,包括
ORACLE
數(shù)據(jù)庫管理系統(tǒng)公司
,
國際商業(yè)機器公司
,
美國賽貝斯公司
, Informix
公司,美國康柏公司等。所有這些公司合作開發(fā)兼容的
SQLJ
翻譯器來實現(xiàn)使用不同的數(shù)據(jù)庫。
SQLJ
的優(yōu)點
一個編譯過的
SQLJ
應用程序是一個標準的
Java
程序,可以在任何具備三個組件的環(huán)境中運行,這三個組件是:
JVM, SQLJ
運行時程序庫和
JDBC
驅(qū)動程序。
它提供了下列好處
∶
緊湊的代碼
SQLJ
代碼比
JDBC
代碼更加緊湊并且無差錯。在編譯時對語法和語義進行檢查。
SQLJ
編譯器提供了類型檢查和模式對象檢查來找出在
SQL
語句中的語法錯誤或遺漏或拼錯這樣的錯誤,這是在編譯過程中進行而不是在運行過程中進行。因此,使用
SQLJ
編寫的程序比使用
JDBC
編寫的程序更加健壯。
多廠商互用性
SQLJ
語法是由主要的軟件供應廠商開發(fā)和支持的。因為
SQLJ
程序使用運行時
JDBC
調(diào)用訪問數(shù)據(jù)庫,所以
SQLJ
可以訪問任何
JDBC
驅(qū)動程序可以實現(xiàn)的數(shù)據(jù)庫服務(wù)器。
靈活的部署
因為
SQLJ
運行時程序庫是基于
Java
的程序,所以
SQLJ
應用程序可以在任何
JDBC
配置環(huán)境中配置,例如瘦客戶端,中間層或是數(shù)據(jù)庫服務(wù)器上等。
供應廠商具體定制
SQLJ
通過后續(xù)的
Java
字節(jié)碼的定制支持供應廠商具體產(chǎn)品的特色和擴展。它可以被用來改善
SQL
查詢語言的執(zhí)行性能,使用具體供應廠商提供的性能或功能上的擴展,而不用考慮
SQLJ
程序如何變化,以及調(diào)試和運行記錄等情況。
posted on 2006-09-30 14:16
壞男孩 閱讀(1180)
評論(1) 編輯 收藏 所屬分類:
新知識學習