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答應查詢表達式直接傳遞到底層的數據驅動,這樣一個程序可以獲得盡量 多的SQL功能,但是可 能被DBMS拒絕。事實上,一個程序的查詢甚至可以不是SQL的,或者是SQL的一個 非凡演化,例如: 為專門數據庫設計的文本或者圖形查詢。 l 為了通過JDBC兼容的測試,并且能夠被稱為JDBC兼容,我們要求一個驅動至少 支持ANSI SQL-2的標 準。這使得那些需要廣泛移植性的程序獲得一個最小的分母(這句話的原文是: This gives applications that want wide portability a guaranteed least common denominator.)。 我們相信ANSI SQL-2是足夠強大的,并且是得到足夠支持的。
2.3. JDBC必須可以建立在現有的數據庫接口上
我們必須能夠保證 JDBC SQL API 能夠建立在普通的SQL API上,尤其是ODBC。這 些要求已經對這個 規范的一些部分產生了影響,尤其是對傳出參數(OUT parameter)和大數據塊的處 理。
We would PRefer to keep this base API as simple as possible, at least initially. In general we would prefer to provide a single mechanism for performing a particular task, and avoid provid-ing duplicate mechanisms. We will extend the API later if any important functionality is miss-ing.
Before looking at specifics of the JDBC API, an understanding of typical use scenarios is help-ful. There are two common scenarios that must be treated differently for our purposes: applets and applications.