在選擇使用哪種 JDBC 驅(qū)動(dòng)程序時(shí),可以考慮以下幾個(gè)因素:
類(lèi)型1驅(qū)動(dòng)程序(JDBC-ODBC橋):適用于訪(fǎng)問(wèn)需要使用ODBC連接的數(shù)據(jù)庫(kù)系統(tǒng)。但由于需要通過(guò)ODBC橋轉(zhuǎn)換,因此性能較差,不推薦使用。
類(lèi)型2驅(qū)動(dòng)程序(本地API驅(qū)動(dòng)程序):適用于需要直接訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)系統(tǒng)的本地API的情況。這種驅(qū)動(dòng)程序?qū)μ囟ǖ臄?shù)據(jù)庫(kù)系統(tǒng)進(jìn)行了優(yōu)化,性能較好。但由于是基于特定的本地API,所以只能在支持該API的平臺(tái)上使用。
類(lèi)型3驅(qū)動(dòng)程序(網(wǎng)絡(luò)協(xié)議驅(qū)動(dòng)程序):適用于需要通過(guò)網(wǎng)絡(luò)協(xié)議連接到數(shù)據(jù)庫(kù)的情況。這種驅(qū)動(dòng)程序使用數(shù)據(jù)庫(kù)廠商提供的網(wǎng)絡(luò)協(xié)議進(jìn)行數(shù)據(jù)傳輸,可以在不同的平臺(tái)上使用。但由于需要通過(guò)網(wǎng)絡(luò)協(xié)議傳輸數(shù)據(jù),所以性能稍差于類(lèi)型2驅(qū)動(dòng)程序。
類(lèi)型4驅(qū)動(dòng)程序(純Java驅(qū)動(dòng)程序):適用于需要在純Java環(huán)境下連接到數(shù)據(jù)庫(kù)的情況。這種驅(qū)動(dòng)程序完全由Java編寫(xiě),不依賴(lài)于特定的本地API或網(wǎng)絡(luò)協(xié)議,可以在任何支持Java的平臺(tái)上使用。性能較好,并且提供了最大的兼容性和可移植性。
總的來(lái)說(shuō),如果數(shù)據(jù)庫(kù)系統(tǒng)支持類(lèi)型4驅(qū)動(dòng)程序,則推薦使用類(lèi)型4驅(qū)動(dòng)程序,因?yàn)樗峁┝俗詈玫男阅芎图嫒菪?。如果?shù)據(jù)庫(kù)系統(tǒng)不支持類(lèi)型4驅(qū)動(dòng)程序,則根據(jù)具體情況選擇類(lèi)型2或類(lèi)型3驅(qū)動(dòng)程序。類(lèi)型1驅(qū)動(dòng)程序一般不推薦使用。