国产激情久久久久影院小草_国产91高跟丝袜_99精品视频99_三级真人片在线观看

全面了解ODBC技術

時間:2024-09-12 08:25:12 計算機畢業(yè)論文 我要投稿
  • 相關推薦

全面了解ODBC技術

目前,眾多的廠商推出了行行色色的數(shù)據(jù)庫系統(tǒng),它們在性能、價格和應用范圍上各有千秋。一個綜合信息系統(tǒng)的各部門由于需求差異等原因,往往會存在多種數(shù)據(jù)庫,它們之間的互連訪問成為一個棘手的問題,特別是當用戶需要從客戶機端訪問不同的服務器時。
微軟提出的開放式數(shù)據(jù)庫互連(Open-DataBase-Connectivity,即ODBC)成為目前一個強有力解決方案,并逐步成為Windows和Macintosh平臺上的標準接口,并推動了這方面的開放性和標準化。
一、ODBC的產生和發(fā)展
關系型數(shù)據(jù)庫產生后很快就成為數(shù)據(jù)庫系統(tǒng)的主流產品,由于每個DBMS廠商都有自己的一套標準,人們很早就產生了標準化的想法,于是產生了SQL,由于其語法規(guī)范逐漸為人所接受,成為RDBMS上的主導語言。最初,各數(shù)據(jù)庫廠商為了解決互連的問題,往往提供嵌入式SQL API,用戶在客戶機端要操作系統(tǒng)中的RDBMS時,往往要在程序中嵌入SQL語句進行預編譯。由于不同廠商在數(shù)據(jù)格式、數(shù)據(jù)操作、具體實現(xiàn)甚至語法方面都具有不同程度的差異,所以彼此不能兼容。
長期以來,這種API的非規(guī)范情況令用戶和RDBMS廠商都不能滿意。在80年代后期,一些著名的廠商包括Oracle、Sybase、Lotus、Ingres、Informix、HP、DEC等結成了SQL Access Group(簡稱SAG),提出了SQL API的規(guī)范核心:調用級接口(Call Level Interface),簡稱CLI。
1991年11月,微軟宣布了ODBC,次年推出可用版本。1992年2月,推出了ODBC SDK 2.0版。ODBC基于SAG的SQL CAE草案所規(guī)定的語法,共分為Core、Level 1、 Level 2三種定義,分別規(guī)范了22、16、13共51條命令,其中29條命令甚至超越了SAG CLI中原有的定義,功能強大而靈活。它還包括標準的錯誤代碼集、標準的連接和登錄DBMS方法、標準的數(shù)據(jù)類型表示等。
由于ODBC思想上的先進性,且沒有同類的標準或產品與之競爭,它一枝獨秀,推出后僅僅兩三年就受到了眾多廠家與用戶的青睞,成為一種廣為接受的標準。目前,已經有130多家獨立廠商宣布了對ODBC的支持,常見的DBMS都提供了ODBC的驅動接口,這些廠商包括Oracle、Sybase、Informix、Ingres、IBM(DB/2)、DEC(RDB)、HP(ALLBASE/SQL)、Gupta、Borland(Paradox)等。目前,ODBC已經成為客戶機/服務器系統(tǒng)中的一個重要支持技術。
二、ODBC的基本思想與特點
ODBC的基本思想是為用戶提供簡單、標準、透明的數(shù)據(jù)庫連接的公共編程接口,開發(fā)廠商根據(jù)ODBC的標準去實現(xiàn)底層的驅動程序,這個驅動對用戶是透明的,并允許根據(jù)不同的DBMS采用不同的技術加以優(yōu)化實現(xiàn),這就利于不斷吸收新的技術而趨完善。
這同時也就是數(shù)據(jù)庫驅動的思想,它很類似于Windows中打印驅動的思想。在Windows中,用戶安裝不同的打印驅動程序,使用同樣一條打印語句或操作,就可很容易地實現(xiàn)在不同打印機上打印輸出,而不需要了解內部的具體原理。ODBC出現(xiàn)以后,用戶安裝不同的DBMS驅動就可用同樣的SQL語句實現(xiàn)在不同DBMS上進行同樣的操作,而且無需預編譯。ODBC帶來了數(shù)據(jù)庫連接方式的變革,如圖1所示。在傳統(tǒng)方式中,開發(fā)人員要熟悉多個DBMS及其API,一旦DBMS端出現(xiàn)變動,則往往導致用戶端系統(tǒng)重新編建或者源代碼的修改,這給開發(fā)和維護工作帶來了很大困難。在ODBC方式中,不管底層網絡環(huán)境如何,也無論采用何種DBMS,用戶在程序中都使用同一套標準代碼,無需逐個了解各DBMS及其API的特點,源程序不因底層的變化而重新編建或修改,從而減輕了開發(fā)維護的工作量,縮短了開發(fā)周期。
@@12W03500.GIF;圖1 數(shù)據(jù)庫連接方式的轉變@@
概括起來,ODBC具有以下靈活的特點:
1. 使用戶程序有很高的互操作性,相同的目標代碼適用于不同的DBMS;
2. 由于ODBC的開放性,它為程序集成提供了便利,為客戶機/服務器結構提供了技術支持;
3. 由于應用與底層網絡環(huán)境和DBMS分開,簡化了開發(fā)維護上的困難。
三、ODBC的體系結構和實現(xiàn)
ODBC是依靠分層結構來實現(xiàn)的,如此可保證其標準性和開放性。圖2所示為ODBC的體系結構,它共分為四層:應用程序、驅動程序管理器、驅動程序和數(shù)據(jù)源。微軟公司對ODBC規(guī)程進行了規(guī)范,它為應用層的開發(fā)者和用戶提供標準的函數(shù)、語法和錯誤代碼等,微軟還提供了驅動程序管理器,它在Windows中是一個動態(tài)鏈接庫即ODBC.DLL。驅動程序層由微軟、DBMS廠商或第三開發(fā)商提供,它必須符合ODBC的規(guī)程,對于Oracle,它是ORA6WIN.DLL,對于SQL Server,它是SQLSRVR.DLL。
@@12W03501.GIF;圖2 ODBC體系結構@@
下面我們詳細介紹各層的功能。
1. 應用程序層(Application)
使用ODBC接口的應用程序可執(zhí)行以下任務:
①請求與數(shù)據(jù)源的連接和會話(SQLConnect);
②向數(shù)據(jù)源發(fā)送SQL請求(SQLExecDirct或SQLExecute);
③對SQL請求的結果定義存儲區(qū)和數(shù)據(jù)格式;
④請求結果;
⑤處理錯誤;
⑥如果需要,把結果返回給用戶;
⑦對事務進行控制,請求執(zhí)行或回退操作(SQLTransact);
⑧終止對數(shù)據(jù)源的連接(SQLDisconnect)。
2. 驅動程序管理器(Driver Manager)
由微軟提供的驅動程序管理器是帶有輸入庫的動態(tài)連接庫ODBC.DLL,其主要目的是裝入驅動程序,此外還執(zhí)行以下工作:
①處理幾個ODBC初始化調用;
②為每一個驅動程序提供ODBC函數(shù)入口點;
③為ODBC調用提供參數(shù)和次序驗證。
3. 驅動程序(Driver)
驅動程序是實現(xiàn)ODBC函數(shù)和數(shù)據(jù)源交互的DLL,當應用程序調用SQL Connect或者SQLDriver Connect函數(shù)時,驅動程序管理器裝入相應的驅動程序,它對來自應用程序的ODBC函數(shù)調用進行應答,按照其要求執(zhí)行以下任務:
①建立與數(shù)據(jù)源的連接;
②向數(shù)據(jù)源提交請求;
③在應用程序需求時,轉換數(shù)據(jù)格式;
④返回結果給應用程序;
⑤將運行錯誤格式化為標準代碼返回;
⑥在需要時說明和處理光標。
以上這些功能都是對應用程序層功能的具體實現(xiàn)。驅動程序的配置方式

【全面了解ODBC技術】相關文章:

全面領會 ODBC技巧03-10

網絡電話技術簡單全面介紹03-12

略談隧道洞內洞外的全面施工技術論文11-18

運用價值工程全面推動建筑業(yè)技術與經濟工作03-24

全面預算發(fā)展趨勢-戰(zhàn)略導向全面預算12-07

Delphi 5 數(shù)據(jù)庫應用中ODBC數(shù)據(jù)源的自動管理03-18

談談全面成本管理03-22

談企業(yè)全面預算管理03-18

舞劇創(chuàng)作需要全面反思03-18