資源描述:
《JSP程序訪問(wèn)數(shù)據(jù)庫(kù)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、JSP程序訪問(wèn)數(shù)據(jù)庫(kù)ODBC簡(jiǎn)介ODBC是一種在不同DBMS中存取數(shù)據(jù)的標(biāo)準(zhǔn)應(yīng)用程序接口用戶應(yīng)用程序ODBC驅(qū)動(dòng)管理程序ODBCaccess驅(qū)動(dòng)程序ODBCSQLServer驅(qū)動(dòng)程序ODBCOracle驅(qū)動(dòng)程序Access數(shù)據(jù)庫(kù)SQLServer數(shù)據(jù)庫(kù)Oracle數(shù)據(jù)庫(kù)基本上所有的數(shù)據(jù)庫(kù)系統(tǒng)都支持ODBC接口應(yīng)用程序通過(guò)ODBC訪問(wèn)數(shù)據(jù)庫(kù)安裝某數(shù)據(jù)庫(kù)的ODBC驅(qū)動(dòng)(由DBMS廠家提供)用戶建一個(gè)數(shù)據(jù)源通過(guò)ODBC驅(qū)動(dòng)與數(shù)據(jù)庫(kù)連接在應(yīng)用程序中以SQL語(yǔ)言來(lái)存取連接到的數(shù)據(jù)源JDBC的出現(xiàn)ODBC是微軟用C語(yǔ)言開(kāi)發(fā)的,主要在w
2、indows環(huán)境中使用如果用其他語(yǔ)言(如java)開(kāi)發(fā)應(yīng)用程序使用ODBC和數(shù)據(jù)庫(kù)連接,需要中介的API來(lái)和ODBC做溝通連接(編程人員在java程序中加入C語(yǔ)言的ODBC函數(shù)調(diào)用)將ODBC轉(zhuǎn)移到非windows環(huán)境中運(yùn)行是一件復(fù)雜的事JDBC是JAVA數(shù)據(jù)庫(kù)連接(JavaDataBaseConnectivity)技術(shù)的簡(jiǎn)稱(chēng),是為各種常用數(shù)據(jù)庫(kù)提供無(wú)縫連接的技術(shù)。它由一些Java語(yǔ)言編寫(xiě)的類(lèi)和界面組成。JDBC為數(shù)據(jù)庫(kù)應(yīng)用開(kāi)發(fā)人員、數(shù)據(jù)庫(kù)前臺(tái)工具開(kāi)發(fā)人員提供了一種標(biāo)準(zhǔn)的應(yīng)用程序設(shè)計(jì)接口(API),使開(kāi)發(fā)人員可以用純Jav
3、a語(yǔ)言編寫(xiě)完整的數(shù)據(jù)庫(kù)應(yīng)用程序。JDBC的任務(wù)與一個(gè)數(shù)據(jù)庫(kù)建立連接向數(shù)據(jù)庫(kù)發(fā)送SQL語(yǔ)句處理數(shù)據(jù)庫(kù)返回的結(jié)果JDBC是一種低級(jí)的APIJDBC結(jié)構(gòu)圖JDBCApplicationJDBCAPIJDBCDriverManagerJDBCDriverJDBCDriver數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)ResultSetPreparedStatementResultSetStatementResultSetCallableStatementConnectionDriverManagerDB2DriverJDBC-ODBCBridgeORACLEDr
4、iver應(yīng)用層API:給數(shù)據(jù)庫(kù)的應(yīng)用程序開(kāi)發(fā)者使用(用SQL語(yǔ)句操作數(shù)據(jù)庫(kù),如新增、修改、查詢、刪除)驅(qū)動(dòng)程序?qū)覣PI:寫(xiě)驅(qū)動(dòng)程序的廠商使用結(jié)果集SQL語(yǔ)句你寫(xiě)的應(yīng)用程序Type1JDBC-ODBC橋接器OdbcDriver數(shù)據(jù)庫(kù)結(jié)果集SQL語(yǔ)句你寫(xiě)的應(yīng)用程序Type2JDBC驅(qū)動(dòng)程序原生驅(qū)動(dòng)程序數(shù)據(jù)庫(kù)特殊溝通方式特殊溝通方式結(jié)果集SQL語(yǔ)句你寫(xiě)的應(yīng)用程序Type3JDBC驅(qū)動(dòng)程序中介軟件數(shù)據(jù)庫(kù)特殊溝通方式特殊溝通方式結(jié)果集SQL語(yǔ)句你寫(xiě)的應(yīng)用程序Type4JDBC驅(qū)動(dòng)程序數(shù)據(jù)庫(kù)JDBC-ODBC橋接器原生API驅(qū)動(dòng)程序J
5、DBC通過(guò)網(wǎng)絡(luò)的純JAVA驅(qū)動(dòng)程序原生協(xié)議及純JAVA驅(qū)動(dòng)程序廠商提供的驅(qū)動(dòng)程序分為四類(lèi)結(jié)果集SQL語(yǔ)句你寫(xiě)的應(yīng)用程序Type1JDBC-ODBC橋接器OdbcDriver數(shù)據(jù)庫(kù)JDBC-ODBC橋接器將JDBC數(shù)據(jù)轉(zhuǎn)換ODBC數(shù)據(jù)來(lái)源,再利用ODBC與數(shù)據(jù)庫(kù)溝通一般用于測(cè)試,性能低結(jié)果集SQL語(yǔ)句你寫(xiě)的應(yīng)用程序Type2JDBC驅(qū)動(dòng)程序原生驅(qū)動(dòng)程序數(shù)據(jù)庫(kù)特殊溝通方式特殊溝通方式原生API驅(qū)動(dòng)程序?qū)DBC指令轉(zhuǎn)換成DBMS所指定的原生碼(C,C++)提供一套函數(shù),函數(shù)庫(kù)的外層是java程序,負(fù)責(zé)與iava程序溝通,底層轉(zhuǎn)
6、換成另一種語(yǔ)言(C,C++)結(jié)果集SQL語(yǔ)句你寫(xiě)的應(yīng)用程序Type3JDBC驅(qū)動(dòng)程序中介軟件數(shù)據(jù)庫(kù)特殊溝通方式特殊溝通方式JDBC通過(guò)網(wǎng)絡(luò)的純JAVA驅(qū)動(dòng)程序驅(qū)動(dòng)程序傳送JDBC指令到一個(gè)中間軟件,該中間軟件再將JDBC要求傳送到DBMS結(jié)果集SQL語(yǔ)句你寫(xiě)的應(yīng)用程序Type4JDBC驅(qū)動(dòng)程序數(shù)據(jù)庫(kù)原生協(xié)議及純JAVA驅(qū)動(dòng)程序由純JAVA寫(xiě)成,直接與數(shù)據(jù)庫(kù)溝通,性能最好。JDBC連接數(shù)據(jù)庫(kù)存取數(shù)據(jù)的三個(gè)基本步驟用DriverManager加載及注冊(cè)適當(dāng)?shù)腏DBC驅(qū)動(dòng)程序用JDBCURL定義驅(qū)動(dòng)程序與數(shù)據(jù)來(lái)源之間的連接,并且
7、建立一個(gè)連接對(duì)象建立一個(gè)SQL陳述式對(duì)象(StatementObject),并且利用它來(lái)執(zhí)行SQL語(yǔ)句1.用DriverManager加載及注冊(cè)適當(dāng)?shù)腏DBC驅(qū)動(dòng)程序用java.lang.Class類(lèi)的forName()方法加載MYSQL驅(qū)動(dòng)程序Class.forName(“com.mysql.jdbc.Driver”);加載JDBC-ODBC橋驅(qū)動(dòng)程序Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);加載SQLServer驅(qū)動(dòng)程序Class.forName(“com.micros
8、oft.jdbc.sqlserver.SQLServerDriver”);2-1.用JDBCURL定義驅(qū)動(dòng)程序與數(shù)據(jù)來(lái)源之間的連接JDBCURL的標(biāo)準(zhǔn)語(yǔ)法::主要通信協(xié)議次要通信協(xié)議數(shù)據(jù)來(lái)源(即驅(qū)動(dòng)程序名稱(chēng))用JD