深入數(shù)據(jù)庫(kù)通用的連接方式詳解
每個(gè)數(shù)據(jù)的訪問(wèn)都用自己的通信協(xié)議,包括還有不同的接口調(diào)用,參數(shù)傳遞。在同一個(gè)程序里要使用不同數(shù)據(jù)庫(kù)里的信息,按照正常的情況來(lái)說(shuō),那就要寫(xiě)不同的數(shù)據(jù)庫(kù)連接的方法,就像在程序里寫(xiě)了多個(gè)精簡(jiǎn)版的 數(shù)據(jù)庫(kù) 客戶(hù)端。這樣的編程方式肯定會(huì)讓人不好難受,所以就期望能夠有一種統(tǒng)一的訪問(wèn)數(shù)據(jù)庫(kù)的方式,大家都用這一種方式去連接數(shù)據(jù)庫(kù),那么將減少很多痛苦。
話說(shuō)微軟是第一個(gè)給大家?guī)?lái)曙光的人,推出了ODBC的概念,從此所有的程序都不用自己寫(xiě)數(shù)據(jù)庫(kù)連接程序了,從此跨入了解放時(shí)代。ODBC是一組基于C語(yǔ)言的API,它能兼容不同的數(shù)據(jù)庫(kù),然后提供統(tǒng)一的訪問(wèn)接口,這樣就為大家節(jié)省出了YY的時(shí)間。
在ODBC推出后多年,有出了一個(gè)新概念OLE DB。這個(gè)是ODBC的升級(jí)版,因?yàn)橐磺卸奸_(kāi)始面向?qū)ο罅?,所以這個(gè)自然就是以對(duì)象方式來(lái)實(shí)現(xiàn)的。而且在性能方面也有了一些提高,自此OLE DB成為微軟的新寵。
ODBC、OLE DB都是底層的數(shù)據(jù)庫(kù)訪問(wèn)接口,使用起來(lái)不是很方便、容易,大家YY的時(shí)間又被占用的,為此微軟決定再次解放大家、所以就出來(lái)了ADO的概念。很顯然這是一個(gè)對(duì)象,就是對(duì)OLE DB、ODBC的高層封裝,把大家經(jīng)常要做的數(shù)據(jù)庫(kù)操作都給直接提供出來(lái),大家的YY時(shí)間再次被解救回來(lái)了。
不過(guò)在這期間Sun公司也沒(méi)閑著,為了更大層次的解救JAVA程序猿們的YY時(shí)間,就單獨(dú)寫(xiě)了一套專(zhuān)門(mén)用于JAVA的數(shù)據(jù)庫(kù)訪問(wèn)接口JDBC,聽(tīng)名字就知道是山寨創(chuàng)意了。換湯不換藥,唯一的好處就是java代碼里調(diào)用會(huì)更舒服,自己家養(yǎng)的東西肯定用起來(lái)更順手。
當(dāng)然sun除了山寨創(chuàng)意外,還保留了對(duì)ODBC的調(diào)用接口【JDBC-ODBC橋】,以防不時(shí)之需;這樣萬(wàn)一有一天除了一個(gè)新的東西只有ODBC支持,JDBC不支持。這時(shí)還不至于太有壓力。當(dāng)然ODBC的支持也是目前最廣的,某些非主流的數(shù)據(jù)庫(kù)文件的訪問(wèn)接口也都支持,所以還是留一手的好。
這樣的話,數(shù)據(jù)庫(kù)訪問(wèn)方式就開(kāi)始明朗了。見(jiàn)下:
這樣看來(lái),用途最廣、最底層的就是ODBC了?;舅衅渌亩紩?huì)可能調(diào)用它,JDBC、OLE DB是一個(gè)等級(jí)的;一個(gè)是sun的,一個(gè)是微軟的;ADO不是直接訪問(wèn)的程序,只是一個(gè)訪問(wèn)快速通道而已。
注:所有的鏈接方式都需要本機(jī)有相應(yīng)的驅(qū)動(dòng),而驅(qū)動(dòng)是和具體的數(shù)據(jù)庫(kù)是對(duì)應(yīng)的。這樣就會(huì)有3類(lèi)驅(qū)動(dòng)類(lèi)型,每類(lèi)訪問(wèn)N種數(shù)據(jù)庫(kù)都要N個(gè)驅(qū)動(dòng)。
- 深入探討:PHP使用數(shù)據(jù)庫(kù)永久連接方式操作MySQL的是與非
- ASP數(shù)據(jù)庫(kù)連接方式大全
- jdbc連接sqlserver數(shù)據(jù)庫(kù)示例
- c#連接mysql數(shù)據(jù)庫(kù)的方法
- php中mysql連接和基本操作代碼(快速測(cè)試使用,簡(jiǎn)單方便)
- PHP同時(shí)連接多個(gè)mysql數(shù)據(jù)庫(kù)示例代碼
- PHP連接MySQL的2種方法小結(jié)以及防止亂碼
- sql server 2008數(shù)據(jù)庫(kù)連接字符串大全
- python連接mysql調(diào)用存儲(chǔ)過(guò)程示例
- python連接mysql并提交mysql事務(wù)示例
- jtds1.1連接sqlserver2000測(cè)試示例
- MySQL連接無(wú)法解析HOST主機(jī)名的解決方法
- 數(shù)據(jù)庫(kù)連接方式匯總
相關(guān)文章
MySql中流程控制函數(shù)/統(tǒng)計(jì)函數(shù)/分組查詢(xún)用法解析
這篇文章主要介紹了MySql中流程控制函數(shù)/統(tǒng)計(jì)函數(shù)/分組查詢(xún)用法解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07MySQL大內(nèi)存配置方案 如my-medium.ini、my-huge.ini等
這篇文章主要介紹了MySQL大內(nèi)存配置方案 如my-medium.ini、my-huge.ini等,經(jīng)測(cè)試確實(shí)不錯(cuò),訪問(wèn)mysql速度快了很多2014-08-08MySQL?SQL預(yù)處理(Prepared)的語(yǔ)法實(shí)例與注意事項(xiàng)
所謂預(yù)編譯語(yǔ)句就是將此類(lèi)SQL語(yǔ)句中的值用占位符替代,可以視為將 SQL語(yǔ)句模板化或者說(shuō)參數(shù)化,一般稱(chēng)這類(lèi)語(yǔ)句叫Prepared Statements,下面這篇文章主要給大家介紹了關(guān)于MySQL?SQL預(yù)處理(Prepared)的相關(guān)資料,需要的朋友可以參考下2022-01-01簡(jiǎn)單了解mysql InnoDB MyISAM相關(guān)區(qū)別
這篇文章主要介紹了簡(jiǎn)單了解mysql InnoDB MyISAM相關(guān)區(qū)別,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-09-09解析mysql中如何獲得數(shù)據(jù)庫(kù)的大小
本篇文章是對(duì)mysql中如何獲得數(shù)據(jù)庫(kù)的大小的解決方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06MySQL Community Server 8.0.11安裝配置方法圖文教程
這篇文章主要為大家詳細(xì) 介紹了MySQL Community Server 8.0.11安裝配置方法圖文教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-05-05wampserver下mysql導(dǎo)入數(shù)據(jù)庫(kù)的步驟
這篇文章主要介紹了wampserver下mysql導(dǎo)入數(shù)據(jù)庫(kù)的步驟,需要的朋友可以參考下2016-08-08安裝使用Percona XtraBackup來(lái)備份恢復(fù)MySQL的教程
這篇文章主要介紹了安裝使用Percona XtraBackup來(lái)備份恢復(fù)MySQL的教程,文中的示例環(huán)境基于CentOS系統(tǒng),需要的朋友可以參考下2015-12-12MySQL對(duì)JSON類(lèi)型字段數(shù)據(jù)進(jìn)行提取和查詢(xún)的實(shí)現(xiàn)
本文主要介紹了MySQL對(duì)JSON類(lèi)型字段數(shù)據(jù)進(jìn)行提取和查詢(xún)的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-04-04