第一页欧美-第一页综合-丁香花成人另类小说-丁香久久-顶级欧美色妇xxxxbbbb

學(xué)術(shù)咨詢

讓期刊論文更省時(shí)、省事、省心

中文核心期刊之ODBC技術(shù)

時(shí)間: 分類:推薦論文 次數(shù):

目前,眾多的廠商推出了行行色色的數(shù)據(jù)庫(kù)系統(tǒng),它們?cè)谛阅堋r(jià)格和應(yīng)用范圍上各有千秋。一個(gè)綜合信息系統(tǒng)的各部門(mén)由于需求差異等原因,往往會(huì)存在多種數(shù)據(jù)庫(kù),它們之間的互連訪問(wèn)成為一個(gè)棘手的問(wèn)題,特別是當(dāng)用戶需要從客戶機(jī)端訪問(wèn)不同的服務(wù)器時(shí)。

  摘要:目前,眾多的廠商推出了行行色色的數(shù)據(jù)庫(kù)系統(tǒng),它們?cè)谛阅堋r(jià)格和應(yīng)用范圍上各有千秋。一個(gè)綜合信息系統(tǒng)的各部門(mén)由于需求差異等原因,往往會(huì)存在多種數(shù)據(jù)庫(kù),它們之間的互連訪問(wèn)成為一個(gè)棘手的問(wèn)題,特別是當(dāng)用戶需要從客戶機(jī)端訪問(wèn)不同的服務(wù)器時(shí)。

  關(guān)鍵詞:中文核心期刊,ODBC技術(shù)

  微軟提出的開(kāi)放式數(shù)據(jù)庫(kù)互連(Open-DataBase-Connectivity,即ODBC)成為目前一個(gè)強(qiáng)有力解決方案,并逐步成為Windows和Macintosh平臺(tái)上的標(biāo)準(zhǔn)接口,并推動(dòng)了這方面的開(kāi)放性和標(biāo)準(zhǔn)化。

  一、ODBC的產(chǎn)生和發(fā)展

  關(guān)系型數(shù)據(jù)庫(kù)產(chǎn)生后很快就成為數(shù)據(jù)庫(kù)系統(tǒng)的主流產(chǎn)品,由于每個(gè)DBMS廠商都有自己的一套標(biāo)準(zhǔn),人們很早就產(chǎn)生了標(biāo)準(zhǔn)化的想法,于是產(chǎn)生了SQL,由于其語(yǔ)法規(guī)范逐漸為人所接受,成為RDBMS上的主導(dǎo)語(yǔ)言。最初,各數(shù)據(jù)庫(kù)廠商為了解決互連的問(wèn)題,往往提供嵌入式SQL API,用戶在客戶機(jī)端要操作系統(tǒng)中的RDBMS時(shí),往往要在程序中嵌入SQL語(yǔ)句進(jìn)行預(yù)編譯。由于不同廠商在數(shù)據(jù)格式、數(shù)據(jù)操作、具體實(shí)現(xiàn)甚至語(yǔ)法方面都具有不同程度的差異,所以彼此不能兼容。

  長(zhǎng)期以來(lái),這種API的非規(guī)范情況令用戶和RDBMS廠商都不能滿意。在80年代后期,一些著名的廠商包括Oracle、Sybase、Lotus、Ingres、Informix、HP、DEC等結(jié)成了SQL Access Group(簡(jiǎn)稱SAG),提出了SQL API的規(guī)范核心:調(diào)用級(jí)接口(Call Level Interface),簡(jiǎn)稱CLI。

  1991年11月,微軟宣布了ODBC,次年推出可用版本。1992年2月,推出了ODBC SDK 2.0版。ODBC基于SAG的SQL CAE草案所規(guī)定的語(yǔ)法,共分為Core、Level 1、 Level 2三種定義,分別規(guī)范了22、16、13共51條命令,其中29條命令甚至超越了SAG CLI中原有的定義,功能強(qiáng)大而靈活。它還包括標(biāo)準(zhǔn)的錯(cuò)誤代碼集、標(biāo)準(zhǔn)的連接和登錄DBMS方法、標(biāo)準(zhǔn)的數(shù)據(jù)類型表示等。

  由于ODBC思想上的先進(jìn)性,且沒(méi)有同類的標(biāo)準(zhǔn)或產(chǎn)品與之競(jìng)爭(zhēng),它一枝獨(dú)秀,推出后僅僅兩三年就受到了眾多廠家與用戶的青睞,成為一種廣為接受的標(biāo)準(zhǔn)。目前,已經(jīng)有130多家獨(dú)立廠商宣布了對(duì)ODBC的支持,常見(jiàn)的DBMS都提供了ODBC的驅(qū)動(dòng)接口,這些廠商包括Oracle、Sybase、Informix、Ingres、IBM(DB/2)、DEC(RDB)、HP(ALLBASE/SQL)、Gupta、Borland(Paradox)等。目前,ODBC已經(jīng)成為客戶機(jī)/服務(wù)器系統(tǒng)中的一個(gè)重要支持技術(shù)。

  二、ODBC的基本思想與特點(diǎn)

  ODBC的基本思想是為用戶提供簡(jiǎn)單、標(biāo)準(zhǔn)、透明的數(shù)據(jù)庫(kù)連接的公共編程接口,開(kāi)發(fā)廠商根據(jù)ODBC的標(biāo)準(zhǔn)去實(shí)現(xiàn)底層的驅(qū)動(dòng)程序,這個(gè)驅(qū)動(dòng)對(duì)用戶是透明的,并允許根據(jù)不同的DBMS采用不同的技術(shù)加以優(yōu)化實(shí)現(xiàn),這就利于不斷吸收新的技術(shù)而趨完善。

  這同時(shí)也就是數(shù)據(jù)庫(kù)驅(qū)動(dòng)的思想,它很類似于Windows中打印驅(qū)動(dòng)的思想。在Windows中,用戶安裝不同的打印驅(qū)動(dòng)程序,使用同樣一條打印語(yǔ)句或操作,就可很容易地實(shí)現(xiàn)在不同打印機(jī)上打印輸出,而不需要了解內(nèi)部的具體原理。ODBC出現(xiàn)以后,用戶安裝不同的DBMS驅(qū)動(dòng)就可用同樣的SQL語(yǔ)句實(shí)現(xiàn)在不同DBMS上進(jìn)行同樣的操作,而且無(wú)需預(yù)編譯。ODBC帶來(lái)了數(shù)據(jù)庫(kù)連接方式的變革,如圖1所示。在傳統(tǒng)方式中,開(kāi)發(fā)人員要熟悉多個(gè)DBMS及其API,一旦DBMS端出現(xiàn)變動(dòng),則往往導(dǎo)致用戶端系統(tǒng)重新編建或者源代碼的修改,這給開(kāi)發(fā)和維護(hù)工作帶來(lái)了很大困難。在ODBC方式中,不管底層網(wǎng)絡(luò)環(huán)境如何,也無(wú)論采用何種DBMS,用戶在程序中都使用同一套標(biāo)準(zhǔn)代碼,無(wú)需逐個(gè)了解各DBMS及其API的特點(diǎn),源程序不因底層的變化而重新編建或修改,從而減輕了開(kāi)發(fā)維護(hù)的工作量,縮短了開(kāi)發(fā)周期。

  @@12W03500.GIF;圖1 數(shù)據(jù)庫(kù)連接方式的轉(zhuǎn)變@@

  概括起來(lái),ODBC具有以下靈活的特點(diǎn):

  1. 使用戶程序有很高的互操作性,相同的目標(biāo)代碼適用于不同的DBMS;

  2. 由于ODBC的開(kāi)放性,它為程序集成提供了便利,為客戶機(jī)/服務(wù)器結(jié)構(gòu)提供了技術(shù)支持;

  3. 由于應(yīng)用與底層網(wǎng)絡(luò)環(huán)境和DBMS分開(kāi),簡(jiǎn)化了開(kāi)發(fā)維護(hù)上的困難。

  三、ODBC的體系結(jié)構(gòu)和實(shí)現(xiàn)

  ODBC是依靠分層結(jié)構(gòu)來(lái)實(shí)現(xiàn)的,如此可保證其標(biāo)準(zhǔn)性和開(kāi)放性。圖2所示為ODBC的體系結(jié)構(gòu),它共分為四層:應(yīng)用程序、驅(qū)動(dòng)程序管理器、驅(qū)動(dòng)程序和數(shù)據(jù)源。微軟公司對(duì)ODBC規(guī)程進(jìn)行了規(guī)范,它為應(yīng)用層的開(kāi)發(fā)者和用戶提供標(biāo)準(zhǔn)的函數(shù)、語(yǔ)法和錯(cuò)誤代碼等,微軟還提供了驅(qū)動(dòng)程序管理器,它在Windows中是一個(gè)動(dòng)態(tài)鏈接庫(kù)即ODBC.DLL。驅(qū)動(dòng)程序?qū)佑晌④洝BMS廠商或第三開(kāi)發(fā)商提供,它必須符合ODBC的規(guī)程,對(duì)于Oracle,它是ORA6WIN.DLL,對(duì)于SQL Server,它是SQLSRVR.DLL。

  @@12W03501.GIF;圖2 ODBC體系結(jié)構(gòu)@@

  下面我們?cè)敿?xì)介紹各層的功能。

  1. 應(yīng)用程序?qū)?Application)

  使用ODBC接口的應(yīng)用程序可執(zhí)行以下任務(wù):

  ①請(qǐng)求與數(shù)據(jù)源的連接和會(huì)話(SQLConnect);

  ②向數(shù)據(jù)源發(fā)送SQL請(qǐng)求(SQLExecDirct或SQLExecute);

  ③對(duì)SQL請(qǐng)求的結(jié)果定義存儲(chǔ)區(qū)和數(shù)據(jù)格式;

  ④請(qǐng)求結(jié)果;

  ⑤處理錯(cuò)誤;

  ⑥如果需要,把結(jié)果返回給用戶;

  ⑦對(duì)事務(wù)進(jìn)行控制,請(qǐng)求執(zhí)行或回退操作(SQLTransact);

  ⑧終止對(duì)數(shù)據(jù)源的連接(SQLDisconnect)。

  2. 驅(qū)動(dòng)程序管理器(Driver Manager)

  由微軟提供的驅(qū)動(dòng)程序管理器是帶有輸入庫(kù)的動(dòng)態(tài)連接庫(kù)ODBC.DLL,其主要目的是裝入驅(qū)動(dòng)程序,此外還執(zhí)行以下工作:

  ①處理幾個(gè)ODBC初始化調(diào)用;

  ②為每一個(gè)驅(qū)動(dòng)程序提供ODBC函數(shù)入口點(diǎn);

  ③為ODBC調(diào)用提供參數(shù)和次序驗(yàn)證。

  3. 驅(qū)動(dòng)程序(Driver)

  驅(qū)動(dòng)程序是實(shí)現(xiàn)ODBC函數(shù)和數(shù)據(jù)源交互的DLL,當(dāng)應(yīng)用程序調(diào)用SQL Connect或者SQLDriver Connect函數(shù)時(shí),驅(qū)動(dòng)程序管理器裝入相應(yīng)的驅(qū)動(dòng)程序,它對(duì)來(lái)自應(yīng)用程序的ODBC函數(shù)調(diào)用進(jìn)行應(yīng)答,按照其要求執(zhí)行以下任務(wù):

  ①建立與數(shù)據(jù)源的連接;

  ②向數(shù)據(jù)源提交請(qǐng)求;

  ③在應(yīng)用程序需求時(shí),轉(zhuǎn)換數(shù)據(jù)格式;

  ④返回結(jié)果給應(yīng)用程序;

  ⑤將運(yùn)行錯(cuò)誤格式化為標(biāo)準(zhǔn)代碼返回;

  ⑥在需要時(shí)說(shuō)明和處理光標(biāo)。

  以上這些功能都是對(duì)應(yīng)用程序?qū)庸δ艿木唧w實(shí)現(xiàn)。驅(qū)動(dòng)程序的配置方式可以劃分為以下兩種。

  (1)單層次(single-tier) 這種方式下,驅(qū)動(dòng)程序要處理ODBC調(diào)用SQL語(yǔ)句,并直接操縱數(shù)據(jù)庫(kù),因此具有數(shù)據(jù)存取功能。這種配置最常見(jiàn)的是同一臺(tái)微機(jī)之上異種數(shù)據(jù)庫(kù)通過(guò)ODBC存取,如在Powerbuilder中存取XBase、Excel、Paradox等數(shù)據(jù)文件,如圖3所示。@@12W03502.GIF;圖3 一層配置示意圖@@

  (2)多層次(multiple-tier) 這種配置中驅(qū)動(dòng)程序僅僅處理ODBC調(diào)用,而將SQL語(yǔ)句交給服務(wù)器執(zhí)行,然后返回結(jié)果。這種情況往往是應(yīng)用程序、驅(qū)動(dòng)程序管理器、驅(qū)動(dòng)程序駐留在客戶機(jī)端,而數(shù)據(jù)源和數(shù)據(jù)存取功能放在服務(wù)器端。譬如用Foxpro或Excel存取SQL Server或Oracle上的數(shù)據(jù),如圖4所示。

  @@12W03503.GIF;圖4 二層配置示意圖@@

  有時(shí)在以上兩者之間加上網(wǎng)關(guān)以解決通信協(xié)議的轉(zhuǎn)換等問(wèn)題,這時(shí)驅(qū)動(dòng)程序要將請(qǐng)求先傳送給網(wǎng)關(guān),如訪問(wèn)DEC RDB和IBM AS/400時(shí)的配置,如圖5所示。

  @@12W03504.GIF;圖5 三層配置示意圖@@

  4. 數(shù)據(jù)源

  數(shù)據(jù)源由用戶想要存取的數(shù)據(jù)和它相關(guān)的操作系統(tǒng)、DBMS及網(wǎng)絡(luò)環(huán)境組成。

  四、一致性級(jí)別

  從應(yīng)用程序觀點(diǎn)來(lái)看,最理想的情況是每個(gè)數(shù)據(jù)源和驅(qū)動(dòng)程序都支持同一套ODBC函數(shù)調(diào)用和SQL語(yǔ)句。但是由于形形色色的DBMS在實(shí)現(xiàn)上有很大的差異,它們所依賴的系統(tǒng)和環(huán)境也各不相同,在對(duì)ODBC支持的程度上就不一致。一致性級(jí)別(Conformance Levels)建立了對(duì)眾多功能的標(biāo)準(zhǔn)劃分,為應(yīng)用程序和驅(qū)動(dòng)程序提供幫助和選擇的依據(jù)。它劃定了驅(qū)動(dòng)程序所支持的ODBC函數(shù)和SQL語(yǔ)句的范圍,我們可以用SQLGetInfo、SQLGetFunctions、SQLTypeInfo三個(gè)函數(shù)獲知驅(qū)動(dòng)程序所支持的功能集。ODBC從API和SQL語(yǔ)法兩方面劃分級(jí)別。

  1. API的一致性

  ODBC將函數(shù)調(diào)用劃分為三級(jí)。

  (1)核心API 它包括了與SAG的CLI相匹配的基本功能,包括:分配與釋放環(huán)境、連接及語(yǔ)句句柄;連接到數(shù)據(jù)源;準(zhǔn)備并執(zhí)行SQL語(yǔ)句或立即執(zhí)行SQL語(yǔ)句;為SQL語(yǔ)句和結(jié)果列中的參數(shù)分配存儲(chǔ)器;從結(jié)果中檢索數(shù)據(jù),檢索結(jié)果的信息;提交和撤消事務(wù)處理;檢索錯(cuò)誤信息。

  (2)一級(jí)API 它包括了核心API的全部功能,比如用特定驅(qū)動(dòng)程序的對(duì)話框連接到數(shù)據(jù)源;設(shè)置和查詢語(yǔ)句值和連接選項(xiàng);送部分或全部參數(shù)值;檢索部分和全部結(jié)果;檢索目錄信息;檢索關(guān)于驅(qū)動(dòng)程序和數(shù)據(jù)源的信息。

  (3)二級(jí)API 其功能包括核心和一級(jí)API的全部功能;瀏覽可獲得的連接和可獲得的數(shù)據(jù)源列表;發(fā)送參數(shù)值數(shù)組,檢索結(jié)果數(shù)組;檢索參數(shù)個(gè)數(shù)及參數(shù)描述;應(yīng)用可卷動(dòng)的光標(biāo);檢索SQL語(yǔ)句和本機(jī)表格;檢索各種目錄信息;調(diào)用轉(zhuǎn)換DLL。

  2. SQL語(yǔ)法的一致性級(jí)別

  從SQL方面可劃分為最小的SQL語(yǔ)法、核心SQL語(yǔ)法和擴(kuò)展SQL語(yǔ)法三個(gè)等級(jí)。

  五、ODBC的應(yīng)用與前景

  ODBC的出現(xiàn)給用戶描繪了一個(gè)誘人的前景,即網(wǎng)絡(luò)中的Windows用戶可以方便地訪問(wèn)各種數(shù)據(jù)庫(kù)。現(xiàn)在,在微軟推出的許多產(chǎn)品中都提供了ODBC支持,如Visal Basic 3.0、Visal C1.5、Excel 5.0、Word 6.0、FoxPro、Access等。同時(shí)其他一些應(yīng)用軟件和開(kāi)發(fā)工具也提供了對(duì)ODBC的支持。因此用戶只要安裝不同的ODBC驅(qū)動(dòng)程序,就可存取相應(yīng)的數(shù)據(jù)庫(kù)產(chǎn)品,而不管用戶使用何種前臺(tái)應(yīng)用軟件,也不管后臺(tái)是何種數(shù)據(jù)庫(kù),這個(gè)存取的過(guò)程是一致的。

  但是由于ODBC產(chǎn)生的時(shí)間還不長(zhǎng),其應(yīng)用也同時(shí)存在著一些問(wèn)題。首先,它的層次比較多,表現(xiàn)在性能上比專有的API要慢,這是其標(biāo)準(zhǔn)化和開(kāi)發(fā)性所帶來(lái)的必要的代價(jià);其次,由于ODBC規(guī)定了三個(gè)層次的一致性級(jí)別,應(yīng)用程序與驅(qū)動(dòng)程序之間的匹配就會(huì)出現(xiàn)一些問(wèn)題和矛盾,比如某些驅(qū)動(dòng)程序支持的級(jí)別比較低,而應(yīng)用程序要求的比較高;再者,由于不同的驅(qū)動(dòng)程序?yàn)椴煌拈_(kāi)發(fā)商所開(kāi)發(fā),測(cè)試工作不能統(tǒng)一,而現(xiàn)有的開(kāi)發(fā)和測(cè)試工具并不很完善;同時(shí),在非SQL的數(shù)據(jù)庫(kù)系統(tǒng)上的應(yīng)用也存在一些問(wèn)題。

  微軟公司將ODBC作為一項(xiàng)很重要的技術(shù),它已承諾進(jìn)一步改進(jìn)ODBC技術(shù),為驅(qū)動(dòng)程序開(kāi)發(fā)者提供更先進(jìn)的開(kāi)發(fā)和測(cè)試工具,還將交付系統(tǒng)管理和監(jiān)控工具,它還將與DBMS廠商和第三方廠商建立更密切的合作,以期使驅(qū)動(dòng)程序支持更高級(jí)別的一致性,并在規(guī)范化方面有所完善。目前,ODBC已為數(shù)據(jù)庫(kù)供應(yīng)商組織內(nèi)部所認(rèn)可,同時(shí)為眾多應(yīng)用軟件廠商和第三方開(kāi)發(fā)商所使用,相信隨著SQL的推廣和規(guī)范,用戶和開(kāi)發(fā)商會(huì)更加依賴于這一技術(shù)。

中文核心期刊推薦

SCI核心期刊推薦

主站蜘蛛池模板: 国产主播精品 | 香港三级理论在线影院 | 欧美性猛交xxx免费看人妖 | 1024视频在线观看国产成人 | 青青草综合视频 | 天天摸天天碰中文字幕 | 97精品国产福利一区二区三区 | 国产呦精品系列在线 | 国产一区高清视频 | 高清不卡 | 成人性一级视频在线观看 | 中文字幕35 | 成年女人视频播放免费观看 | 大黄免费网站 | 国产福利视频在线播放 | 一个人看的ww免费视频 | 亚洲国产亚洲片在线观看播放 | 欧美日韩在线亚洲国产人 | 国产麻豆精品入口在线观看 | 毛片免费全部完整播放 | 欧美国产精品一区二区免费 | 一级一级女人18毛片 | 91在线日本 | 国产成人h片视频在线观看 国产成人lu在线视频 | 一级毛片视频免费 | 丝瓜视频91 | 香蕉在线视频观看 | 国产成人精品免费视频大全办公室 | 国产高清在线精品一区a | 国产亚洲精品看片在线观看 | 成人性视频在线 | 成年人网址在线观看 | 久爱www免费人成福利播放 | 永久免费观看午夜视频在线 | 香蕉久久一区二区三区 | 色综合色综合色综合 | 欧美日韩一区二区综合在线视频 | 91精品国产入口 | 欧美黄一级 | 成人精品mv视频在线观看 | 久久久日本精品一区二区三区 |