2.2. 遵循SQL 數(shù)據(jù)庫系統(tǒng)支持各式各樣的SQL語法和語義,它們相互之間在比較高級的功能例如外部連接,內(nèi)嵌過程等方面并不一致,盡管我們能夠盼望著隨時間的推移這些部分的SQL可以獲得標準化。同時我們采取這樣的態(tài)度與立場: In fact, an application query need not even be SQL, or it may be a specialized derivative of SQL, e.g. for document or image queries, designed for specific DBMSs. In order to pass JDBC compliance tests and to be called "JDBC COMPLIANT ? we require that a driver support at least ANSI SQL-2 Entry Level. This gives applications that want wide portability a guaranteed least common denominator. We believe ANSI SQL-2 Entry Level is reasonably powerful and is reasonably widely supported today.l JDBC答應(yīng)查詢表達式直接傳遞到底層的數(shù)據(jù)驅(qū)動,這樣一個程序可以獲得盡量多的SQL功能,但是可能被DBMS拒絕。事實上,一個程序的查詢甚至可以不是SQL的,或者是SQL的一個非凡演化,例如:為專門數(shù)據(jù)庫設(shè)計的文本或者圖形查詢。l 為了通過JDBC兼容的測試,并且能夠被稱為JDBC兼容,我們要求一個驅(qū)動至少支持ANSI SQL-2的標準。這使得那些需要廣泛移植性的程序獲得一個最小的分母(這句話的原文是:This gives applications that want wide portability a guaranteed least common denominator.)。我們相信ANSI SQL-2是足夠強大的,并且是得到足夠支持的。
2.3. JDBC必須可以建立在現(xiàn)有的數(shù)據(jù)庫接口上
我們必須能夠保證 JDBC SQL API 能夠建立在普通的SQL API上,尤其是ODBC。這些要求已經(jīng)對這個規(guī)范的一些部分產(chǎn)生了影響,尤其是對傳出參數(shù)(OUT parameter)和大數(shù)據(jù)塊的處理。