2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩7頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、<p><b>  外文出處:</b></p><p>  《Exploiting Software How to Break Code》By Greg Hoglund, Gary McGraw </p><p>  Publisher : Addison Wesley Pub Date : February 17, 2004 </p&g

2、t;<p>  ISBN : 0-201-78695-8</p><p><b>  譯文標(biāo)題:</b></p><p><b>  JDBC接口技術(shù) </b></p><p><b>  譯文: </b></p><p>  JDBC是一種可用于執(zhí)行SQL語句的

3、JavaAPI(ApplicationProgrammingInterface應(yīng)用程序設(shè)計(jì)接口)。它由一些Java語言編寫的類和界面組成。JDBC為數(shù)據(jù)庫應(yīng)用開發(fā)人員、數(shù)據(jù)庫前臺工具開發(fā)人員提供了一種標(biāo)準(zhǔn)的應(yīng)用程序設(shè)計(jì)接口,使開發(fā)人員可以用純Java語言編寫完整的數(shù)據(jù)庫應(yīng)用程序。 </p><p>  一、ODBC到JDBC的發(fā)展歷程 </p><p>  說到JDBC,很容易讓人聯(lián)想到另

4、一個(gè)十分熟悉的字眼“ODBC”。它們之間有沒有聯(lián)系呢?如果有,那么它們之間又是怎樣的關(guān)系呢? </p><p>  ODBC是OpenDatabaseConnectivity的英文簡寫。它是一種用來在相關(guān)或不相關(guān)的數(shù)據(jù)庫管理系統(tǒng)(DBMS)中存取數(shù)據(jù)的,用C語言實(shí)現(xiàn)的,標(biāo)準(zhǔn)應(yīng)用程序數(shù)據(jù)接口。通過ODBCAPI,應(yīng)用程序可以存取保存在多種不同數(shù)據(jù)庫管理系統(tǒng)(DBMS)中的數(shù)據(jù),而不論每個(gè)DBMS使用了何種數(shù)據(jù)存儲格

5、式和編程接口。 </p><p>  1.ODBC的結(jié)構(gòu)模型 </p><p>  ODBC的結(jié)構(gòu)包括四個(gè)主要部分:應(yīng)用程序接口、驅(qū)動器管理器、數(shù)據(jù)庫驅(qū)動器和數(shù)據(jù)源。 </p><p>  應(yīng)用程序接口:屏蔽不同的ODBC數(shù)據(jù)庫驅(qū)動器之間函數(shù)調(diào)用的差別,為用戶提供統(tǒng)一的SQL編程接口。 </p><p>  驅(qū)動器管理器:為應(yīng)用程序裝載數(shù)據(jù)庫

6、驅(qū)動器。 </p><p>  數(shù)據(jù)庫驅(qū)動器:實(shí)現(xiàn)ODBC的函數(shù)調(diào)用,提供對特定數(shù)據(jù)源的SQL請求。如果需要,數(shù)據(jù)庫驅(qū)動器將修改應(yīng)用程序的請求,使得請求符合相關(guān)的DBMS所支持的文法。 </p><p>  數(shù)據(jù)源:由用戶想要存取的數(shù)據(jù)以及與它相關(guān)的操作系統(tǒng)、DBMS和用于訪問DBMS的網(wǎng)絡(luò)平臺組成。 </p><p>  雖然ODBC驅(qū)動器管理器的主要目的是加載數(shù)

7、據(jù)庫驅(qū)動器,以便ODBC函數(shù)調(diào)用,但是數(shù)據(jù)庫驅(qū)動器本身也執(zhí)行ODBC函數(shù)調(diào)用,并與數(shù)據(jù)庫相互配合。因此當(dāng)應(yīng)用系統(tǒng)發(fā)出調(diào)用與數(shù)據(jù)源進(jìn)行連接時(shí),數(shù)據(jù)庫驅(qū)動器能管理通信協(xié)議。當(dāng)建立起與數(shù)據(jù)源的連接時(shí),數(shù)據(jù)庫驅(qū)動器便能處理應(yīng)用系統(tǒng)向DBMS發(fā)出的請求,對分析或發(fā)自數(shù)據(jù)源的設(shè)計(jì)進(jìn)行必要的翻譯,并將結(jié)果返回給應(yīng)用系統(tǒng)。 </p><p>  2.JDBC的誕生 </p><p>  自從Java語言于

8、1995年5月正式公布以來,Java風(fēng)靡全球。出現(xiàn)大量的用java語言編寫的程序,其中也包括數(shù)據(jù)庫應(yīng)用程序。由于沒有一個(gè)Java語言的API,編程人員不得不在Java程序中加入C語言的ODBC函數(shù)調(diào)用。這就使很多Java的優(yōu)秀特性無法充分發(fā)揮,比如平臺無關(guān)性、面向?qū)ο筇匦缘取kS著越來越多的編程人員對Java語言的日益喜愛,越來越多的公司在Java程序開發(fā)上投入的精力日益增加,對java語言接口的訪問數(shù)據(jù)庫的API的要求越來越強(qiáng)烈。也由于

9、ODBC的有其不足之處,比如它并不容易使用,沒有面向?qū)ο蟮奶匦缘鹊?,SUN公司決定開發(fā)一Java語言為接口的數(shù)據(jù)庫應(yīng)用程序開發(fā)接口。在JDK1.x版本中,JDBC只是一個(gè)可選部件,到了JDK1.1公布時(shí),SQL類包(也就是JDBCAPI)就成為Java語言的標(biāo)準(zhǔn)部件。 </p><p>  二、JDBC技術(shù)概述 </p><p>  JDBC是一種可用于執(zhí)行SQL語句的JavaAPI(Ap

10、plicationProgrammingInterface,應(yīng)用程序設(shè)計(jì)接口)。它由一些Java語言寫的類、界面組成。JDBC給數(shù)據(jù)庫應(yīng)用開發(fā)人員、數(shù)據(jù)庫前臺工具開發(fā)人員提供了一種標(biāo)準(zhǔn)的應(yīng)用程序設(shè)計(jì)接口,使開發(fā)人員可以用純Java語言編寫完整的數(shù)據(jù)庫應(yīng)用程序。 </p><p>  通過使用JDBC,開發(fā)人員可以很方便地將SQL語句傳送給幾乎任何一種數(shù)據(jù)庫。也就是說,開發(fā)人員可以不必寫一個(gè)程序訪問Sybase,寫

11、另一個(gè)程序訪問Oracle,再寫一個(gè)程序訪問Microsoft的SQLServer。用JDBC寫的程序能夠自動地將SQL語句傳送給相應(yīng)的數(shù)據(jù)庫管理系統(tǒng)(DBMS)。不但如此,使用Java編寫的應(yīng)用程序可以在任何支持Java的平臺上運(yùn)行,不必在不同的平臺上編寫不同的應(yīng)用。Java和JDBC的結(jié)合可以讓開發(fā)人員在開發(fā)數(shù)據(jù)庫應(yīng)用時(shí)真正實(shí)現(xiàn)“WriteOnce,RunEverywhere!” </p><p>  Jav

12、a具有健壯、安全、易用等特性,而且支持自動網(wǎng)上下載,本質(zhì)上是一種很好的數(shù)據(jù)庫應(yīng)用的編程語言。它所需要的是Java應(yīng)用如何同各種各樣的數(shù)據(jù)庫連接,JDBC正是實(shí)現(xiàn)這種連接的關(guān)鍵。 </p><p>  JDBC擴(kuò)展了Java的能力,如使用Java和JDBCAPI就可以公布一個(gè)Web頁,頁中帶有能訪問遠(yuǎn)端數(shù)據(jù)庫的Applet。或者企業(yè)可以通過JDBC讓全部的職工(他們可以使用不同的操作系統(tǒng),如Windwos,Mac

13、hintosh和UNIX)在Intranet上連接到幾個(gè)全球數(shù)據(jù)庫上,而這幾個(gè)全球數(shù)據(jù)庫可以是不相同的。隨著越來越多的程序開發(fā)人員使用Java語言,對Java訪問數(shù)據(jù)庫易操作性的需求越來越強(qiáng)烈。 </p><p>  MIS管理人員喜歡Java和JDBC,因?yàn)檫@樣可以更容易經(jīng)濟(jì)地公布信息。各種已經(jīng)安裝在數(shù)據(jù)庫中的事務(wù)處理都將繼續(xù)正常運(yùn)行,甚至這些事務(wù)處理是存儲在不同的數(shù)據(jù)庫管理系統(tǒng)中;而對新的數(shù)據(jù)庫應(yīng)用來說,開發(fā)

14、時(shí)間將縮短,安裝和版本升級將大大簡化。程序員可以編寫或改寫一個(gè)程序,然后將它放在服務(wù)器上,而每個(gè)用戶都可以訪問服務(wù)器得到最新的</p><p>  版本。對于信息服務(wù)行業(yè),Java和JDBC提供了一種很好的向外界用戶更新信息的方法。 </p><p>  1.JDBC的任務(wù) </p><p>  簡單地說,JDBC能完成下列三件事: </p><

15、p>  1)同一個(gè)數(shù)據(jù)庫建立連接; </p><p>  2)向數(shù)據(jù)庫發(fā)送SQL語句; </p><p>  3)處理數(shù)據(jù)庫返回的結(jié)果。 </p><p>  2.JDBC—一種底層的API </p><p>  JDBC是一種底層API,這意味著它將直接調(diào)用SQL命令。JDBC完全勝任這個(gè)任務(wù),而且比其他數(shù)據(jù)庫互聯(lián)更加容易實(shí)現(xiàn)。同時(shí)它

16、也是構(gòu)造高層API和數(shù)據(jù)庫開發(fā)工具的基礎(chǔ)。高層API和數(shù)據(jù)庫開發(fā)工具應(yīng)該是用戶界面更加友好,使用更加方便,更易于理解的。但所有這樣的API將最終被翻譯為象JDBC這樣的底層API。目前兩種基于JDBC的高層API正處在開發(fā)階段。 </p><p>  1)SQL語言嵌入Java的預(yù)處理器。雖然DBMS已經(jīng)實(shí)現(xiàn)了SQL查詢,但JDBC要求SQL語句被當(dāng)作字符串參數(shù)傳送給Java程序。而嵌入式SQL預(yù)處理器允許程序員

17、將SQL語句混用:Java變量可以在SQL語句中使用,來接收或提供數(shù)值。然后SQL的預(yù)處理器將把這種Java/SQL混用的程序翻譯成帶有JDBCAPI的Java程序。 </p><p>  2)實(shí)現(xiàn)從關(guān)系數(shù)據(jù)庫到Java類的直接映射。Javasoft和其他公司已經(jīng)宣布要實(shí)現(xiàn)這一技術(shù)。在這種“對象/關(guān)系”映射中,表的每一行都將變成這類的一個(gè)實(shí)例,每一列的值對應(yīng)實(shí)例的一個(gè)屬性。程序員可以直接操作Java的對象;而存取

18、所需要的SQL調(diào)用將在內(nèi)部直接產(chǎn)生。還可以實(shí)現(xiàn)更加復(fù)雜的映射,比如多張表的行在一個(gè)Java的類中實(shí)現(xiàn)。 </p><p>  隨著大家對JDBC興趣的不斷濃厚,越來越多的開發(fā)人員已經(jīng)開始利用JDBC為基礎(chǔ)的工具進(jìn)行開發(fā)。這使開發(fā)工作變得容易。同時(shí),程序員也正在開發(fā)對最終用戶來說訪問數(shù)據(jù)庫更加容易的應(yīng)用程序。 </p><p>  3.JDBC和ODBC及其他API的比較 </p>

19、;<p>  到目前為止,微軟的ODBC可能是用得最廣泛的訪問關(guān)系數(shù)據(jù)庫的API。它提供了連接幾乎任何一種平臺、任何一種數(shù)據(jù)庫的能力。那么,為什么不直接從Java中直接使用ODBC呢? 回答是可以從Java中使用ODBC,但最好在JDBC的協(xié)助下,用JDBC-ODBC橋接器實(shí)現(xiàn)。那么,為什么需要JDBC呢?要回答這個(gè)問題,有這么幾個(gè)方面: </p><p>  1)ODBC并不適合在Java中直接使

20、用。ODBC是一個(gè)C語言實(shí)現(xiàn)的API,從Java程序調(diào)用本地的C程序會帶來一系列類似安全性、完整性、健壯性的缺點(diǎn)。 </p><p>  2)其次,完全精確地實(shí)現(xiàn)從C代碼ODBC到JavaAPI寫的ODBC的翻譯也并不令人滿意。比如,Java沒有指針,而ODBC中大量地使用了指針,包括極易出錯的空指針“void*”。因此,對Java程序員來說,把JDBC設(shè)想成將ODBC轉(zhuǎn)換成面向?qū)ο蟮腁PI是很自然的。 <

21、/p><p>  3)ODBC并不容易學(xué)習(xí),它將簡單特性和復(fù)雜特性混雜在一起,甚至對非常簡單的查詢都有復(fù)雜的選項(xiàng)。而JDBC剛好相反,它保持了簡單事物的簡單性,但又允許復(fù)雜的特性。 </p><p>  4)JDBC這樣的JavaAPI對于純Java方案來說是必須的。當(dāng)使用ODBC時(shí),人們必須在每一臺客戶機(jī)上安裝ODBC驅(qū)動器和驅(qū)動管理器。如果JDBC驅(qū)動器是完全用Java語言實(shí)現(xiàn)的話,那么J

22、DBC的代碼就可以自動的下載和安裝,并保證其安全性,而且,這將適應(yīng)任何Java平臺,從網(wǎng)絡(luò)計(jì)算機(jī)NC到大型主機(jī)Mainframe。 </p><p>  總而言之,JDBCAPI是能體現(xiàn)SQL最基本抽象概念的、最直接的Java接口。它建構(gòu)在ODBC的基礎(chǔ)上,因此,熟悉ODBC的程序員將發(fā)現(xiàn)學(xué)習(xí)JDBC非常容易。JDBC保持了ODBC的基本設(shè)計(jì)特征。實(shí)際上,這兩種接口都是基于X/OPENSQL的調(diào)用級接口(CLI)

23、。它們的最大的不同是JDBC是基于Java的風(fēng)格和優(yōu)點(diǎn),并強(qiáng)化了Java的風(fēng)格和優(yōu)點(diǎn)。 最近,微軟又推出了除了ODBC以外的新的API,如RDO,ADO和OLEDB。這些API事實(shí)上在很多方面上同JDBC一樣朝著相同的方向努力,也就是努力成為一個(gè)面向?qū)ο蟮模贠DBC的類接口。然而,這些接口目前并不能代替ODBC,尤其在ODBC驅(qū)動器已經(jīng)在市場完全形成的時(shí)候,更重要的是它們只是ODBC的“漂亮的包裝”。 </p><

24、;p>  4.JDBC兩層模型和三層模型 </p><p>  JDBC支持兩層模型,也支持三層模型訪問數(shù)據(jù)庫。 </p><p>  如圖所示,兩層模型中,一個(gè)java Appple或者一個(gè)JA-va應(yīng)用直接同數(shù)據(jù)庫連接。這就需要能直接被訪問的數(shù)據(jù)庫進(jìn)行連接的JDBC驅(qū)動器。用戶的SQL語句被傳送給數(shù)據(jù)庫,而這些語句執(zhí)行的結(jié)果將被傳回給用戶。數(shù)據(jù)庫可以在同一機(jī)器上,也可以另一機(jī)器上

25、通過網(wǎng)絡(luò)進(jìn)行連接。這被稱為“Client/Server”結(jié)構(gòu),用戶的計(jì)算機(jī)作為Client,運(yùn)行數(shù)據(jù)庫的計(jì)</p><p>  算機(jī)作為Server。這個(gè)網(wǎng)絡(luò)可是intranet,比如連接全體雇員的企業(yè)內(nèi)部網(wǎng),當(dāng)然也可以是internet。 </p><p>  如圖所示,在三層模型中,命令將被發(fā)送到服務(wù)的“中間層”,而“中間層”將SQL語句發(fā)送到數(shù)據(jù)庫。數(shù)據(jù)庫處理SQL語句并將結(jié)果返回“

26、中間層”,然后“中間層”將它們 返回用戶。MIS管理員將發(fā)現(xiàn)三層模型很有吸引力,因?yàn)椤爸虚g層”可以進(jìn)行對訪問的控制并協(xié)同數(shù)據(jù)庫的更新,另一個(gè)優(yōu)勢就是如果有一個(gè)“中間層”用戶就可以使用一個(gè)易用的高層的API,這個(gè)API可以由“中間層”進(jìn)行轉(zhuǎn)換,轉(zhuǎn)換成底層的調(diào)用。而且,在許多情況下,三層模型可以提供更好的性能。 </p><p>  到目前為止,“中間層”通常還是用C或C++實(shí)現(xiàn),以保證其高性能。但隨著優(yōu)化編譯器的引

27、入,將java的字節(jié)碼轉(zhuǎn)換成高效的機(jī)器碼,用java來實(shí)現(xiàn)“中間層”將越來越實(shí)際。而JDBC是允許從一個(gè)java“中間層”訪問數(shù)據(jù)庫的關(guān)鍵。</p><p><b>  指導(dǎo)教師評語:</b></p><p><b>  簽字:</b></p><p>  年 月 日</p><p> 

28、 JDBC Interface Technology </p><p>  JDBC is a SQL statement can be used for the implementation of the JavaAPI (ApplicationProgrammingInterface Application Programming Interface). It consists of a number of

29、Java Language class and interface components. JDBC for database application developers, database developers Front Desk Tools provides a standard application programming interface, So that developers can use pure Java lan

30、guage to prepare a complete database application. One, ODBC to JDBC course of development Speaking of </p><p>  Driver Manager: In order to load the database application drives. Database drive: impl

31、ementation of the ODBC function calls to provide data source specific SQL request. If necessary, the database driver will be requested to amend application Order to make the request in accordance with the relevant DBMS s

32、upported by the grammar. Data Source: by the user wants to access the data, as well as with its associated operating system, DBMS and the DBMS used to access the network platform. Althou</p><p>  up-t

33、o-date Version. For the information service industry, Java and JDBC provides a good user to update information to the outside world approach. 1. JDBC-mission Easy to say, JDBC can complete the following three things:

34、1) set up with a database connection; 2) Send SQL statements to the database; 3) deal with the results of the database back. 2. JDBC-an underlying API JDBC is an underlying API, which means that it will direct ca

35、lls to SQL commands. JDBC fully qualified for this missi</p><p>  development stage Paragraph. 1) SQL language embedded Java pre-processor. While the DBMS has achieved the SQL query, but the JDBC requireme

36、nts of SQL statements as a string parameter transmitted to the Java way Sequence. The embedded SQL preprocessor allows a programmer to mix SQL statements: Java variables can be used in SQL statements to receive or provid

37、e the value. And the pre-SQL This processor will be Java / SQL mix procedures translated into the Java program with JDBCAPI. 2) implementa</p><p>  When using ODBC, people must be on each client machine to

38、install ODBC drivers and Driver Manager. If the JDBC driver to use Java language are fully realize, then the JDBC code can be automatically downloaded and installed, and to ensure their safety, Moreover, this will adapt

39、to any Java platform, from the NC network computer to the mainframe Mainframe. All in all, JDBCAPI are able to embody the most basic abstraction of SQL, the most direct Java interface. It is the foundation to build on in

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論