青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

Prayer

在一般中尋求卓越
posts - 1256, comments - 190, trackbacks - 0, articles - 0
  C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

全面了解ODBC技術

Posted on 2009-09-17 12:14 Prayer 閱讀(510) 評論(0)  編輯 收藏 引用 所屬分類: 數據庫,SQLDB2CLI

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


@@12W03501.GIF;圖2 ODBC體系結構@@
下面我們詳細介紹各層的功能。
1. 應用程序層(Application)
使用ODBC接口的應用程序可執行以下任務:
①請求與數據源的連接和會話(SQLConnect);
②向數據源發送SQL請求(SQLExecDirct或SQLExecute);
③對SQL請求的結果定義存儲區和數據格式;
④請求結果;
⑤處理錯誤;
⑥如果需要,把結果返回給用戶;
⑦對事務進行控制,請求執行或回退操作(SQLTransact);
⑧終止對數據源的連接(SQLDisconnect)。
2. 驅動程序管理器(Driver Manager)
由微軟提供的驅動程序管理器是帶有輸入庫的動態連接庫ODBC.DLL,其主要目的是裝入驅動程序,此外還執行以下工作:
①處理幾個ODBC初始化調用;
②為每一個驅動程序提供ODBC函數入口點;
③為ODBC調用提供參數和次序驗證。
3. 驅動程序(Driver)
驅動程序是實現ODBC函數和數據源交互的DLL,當應用程序調用SQL Connect或者SQLDriver Connect函數時,驅動程序管理器裝入相應的驅動程序,它對來自應用程序的ODBC函數調用進行應答,按照其要求執行以下任務:
①建立與數據源的連接;
②向數據源提交請求;
③在應用程序需求時,轉換數據格式;
④返回結果給應用程序;
⑤將運行錯誤格式化為標準代碼返回;
⑥在需要時說明和處理光標。
以上這些功能都是對應用程序層功能的具體實現。驅動程序的配置方式可以劃分為以下兩種。
(1)單層次(single-tier) 這種方式下,驅動程序要處理ODBC調用SQL語句,并直接操縱數據庫,因此具有數據存取功能。這種配置最常見的是同一臺微機之上異種數據庫通過ODBC存取,如在Powerbuilder中存取XBase、Excel、Paradox等數據文件,如圖3所示。@@12W03502.GIF;圖3 一層配置示意圖@@
(2)多層次(multiple-tier) 這種配置中驅動程序僅僅處理ODBC調用,而將SQL語句交給服務器執行,然后返回結果。這種情況往往是應用程序、驅動程序管理器、驅動程序駐留在客戶機端,而數據源和數據存取功能放在服務器端。譬如用Foxpro或Excel存取SQL Server或Oracle上的數據,如圖4所示。
@@12W03503.GIF;圖4 二層配置示意圖@@
有時在以上兩者之間加上網關以解決[本文由網站www.gwdq.com公文大全www.gwdq.cn收集整理]通信協議的轉換等問題,這時驅動程序要將請求先傳送給網關,如訪問DEC RDB和IBM AS/400時的配置,如圖5所示。
@@12W03504.GIF;圖5 三層配置示意圖@@
4. 數據源
數據源由用戶想要存取的數據和它相關的操作系統、DBMS及網絡環境組成。
四、一致性級別
從應用程序觀點來看,最理想的情況是每個數據源和驅動程序都支持同一套ODBC函數調用和SQL語句。但是由于形形色色的DBMS在實現上有很大的差異,它們所依賴的系統和環境也各不相同,在對ODBC支持的程度上就不一致。一致性級別(Conformance Levels)建立了對眾多功能的標準劃分,為應用程序和驅動程序提供幫助和選擇的依據。它劃定了驅動程序所支持的ODBC函數和SQL語句的范圍,我們可以用SQLGetInfo、SQLGetFunctions、SQLTypeInfo三個函數獲知驅動程序所支持的功能集。ODBC從API和SQL語法兩方面劃分級別。
1. API的一致性
ODBC將函數調用劃分為三級。
(1)核心API 它包括了與SAG的CLI相匹配的基本功能,包括:分配與釋放環境、連接及語句句柄;連接到數據源;準備并執行SQL語句或立即執行SQL語句;為SQL語句和結果列中的參數分配存儲器;從結果中檢索數據,檢索結果的信息;提交和撤消事務處理;檢索錯誤信息。
(2)一級API 它包括了核心API的全部功能,比如用特定驅動程序的對話框連接到數據源;設置和查詢語句值和連接選項;送部分或全部參數值;檢索部分和全部結果;檢索目錄信息;檢索關于驅動程序和數據源的信息。
(3)二級API 其功能包括核心和一級API的全部功能;瀏覽可獲得的連接和可獲得的數據源列表;發送參數值數組,檢索結果數組;檢索參數個數及參數描述;應用可卷動的光標;檢索SQL語句和本機表格;檢索各種目錄信息;調用轉換DLL。
2. SQL語法的一致性級別
從SQL方面可劃分為最小的SQL語法、核心SQL語法和擴展SQL語法三個等級。
五、ODBC的應用與前景
ODBC的出現給用戶描繪了一個誘人的前景,即網絡中的Windows用戶可以方便地訪問各種數據庫。現在,在微軟推出的許多產品中都提供了ODBC支持,如Visal Basic 3.0、Visal C1.5、Excel 5.0、Word 6.0、FoxPro、Access等。同時其他一些應用軟件和開發工具也提供了對ODBC的支持。因此用戶只要安裝不同的ODBC驅動程序,就可存取相應的數據庫產品,而不管用戶使用何種前臺應用軟件,也不管后臺是何種數據庫,這個存取的
本文來自: 公文大全(www.gwdq.com) 詳細出處參考:http://www.gwdq.com/lwzx/jsj/jsjll/146960_2.html
過程是一致的。
但是由于ODBC產生的時間還不長,其應用也同時存在著一些問題。首先,它的層次比較多,表現在性能上比專有的API要慢,這是其標準化和開發性所帶來的必要的代價;其次,由于ODBC規定了三個層次的一致性級別,應用程序與驅動程序之間的匹配就會出現一些問題和矛盾,比如某些驅動程序支持的級別比較低,而應用程序要求的比較高;再者,由于不同的驅動程序為不同的開發商所開發,測試工作不能統一,而現有的開發和測試工具并不很完善;同時,在非SQL的數據庫系統上的應用也存在一些問題。
微軟公司將ODBC作為一項很重要的技術,它已承諾進一步改進ODBC技術,為驅動程序開發者提供更先進的開發和測試工具,還將交付系統管理和監控工具,它還將與DBMS廠商和第三方廠商建立更密切的合作,以期使驅動程序支持更高級別的一致性,并在規范化方面有所完善。目前,ODBC已為數據庫供應商組織內部所認可,同時為眾多應用軟件廠商和第三方開發商所使用,相信隨著SQL的推廣和規范,用戶和開發商會更加依賴于這一技術
本文來自: 公文大全(www.gwdq.com) 詳細出處參考:http://www.gwdq.com/lwzx/jsj/jsjll/146960_3.html

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            国产精品久久久久一区二区三区 | 99精品国产在热久久婷婷| 欧美久久成人| 亚洲福利视频网| 久久久久国产精品一区| 久久久久九九九| 免费日韩视频| 亚洲国产99| 亚洲天堂成人| 欧美在线视频日韩| 欧美成人午夜剧场免费观看| 欧美日韩免费观看一区=区三区| 国产精品白丝jk黑袜喷水| 国产热re99久久6国产精品| 亚洲二区在线| 亚洲综合国产精品| 久久青青草综合| 亚洲精品一区久久久久久| 亚洲欧美久久久久一区二区三区| 久久久久国产精品一区二区| 欧美日韩精品免费在线观看视频 | 激情综合色综合久久| 亚洲精品在线电影| 欧美综合国产| 91久久精品一区二区别| 亚洲尤物在线| 免费人成精品欧美精品| 国产精品一卡二| 亚洲精品一区二区在线| 久久精品免费看| 99国产精品久久久| 麻豆成人av| 国产亚洲亚洲| 亚洲自拍高清| 亚洲精品乱码久久久久久久久| 欧美一区二区三区在线观看视频| 欧美日韩成人综合天天影院| 在线国产欧美| 久久精品综合网| 亚洲图片激情小说| 欧美裸体一区二区三区| 亚洲福利国产| 久久精品1区| 亚洲一区欧美二区| 欧美日韩一区在线观看视频| 亚洲欧洲精品一区二区| 麻豆91精品91久久久的内涵| 亚洲欧美精品伊人久久| 欧美视频日韩视频在线观看| 日韩一级欧洲| 亚洲国产欧美日韩精品| 久久亚洲精品欧美| 激情文学综合丁香| 老司机午夜精品| 先锋影音国产精品| 国产婷婷色一区二区三区四区| 亚洲免费中文字幕| 一区二区免费在线播放| 欧美视频在线观看| 欧美影院视频| 亚洲精品欧美一区二区三区| 男人的天堂亚洲| 亚洲福利在线看| 欧美国产1区2区| 免费精品视频| 日韩视频免费观看高清完整版| 欧美激情免费观看| 欧美激情四色| 亚洲一区久久久| 在线视频一区观看| 国产精品一区二区a| 久久国产加勒比精品无码| 欧美一区二区三区视频免费播放 | 国产一区二区三区久久| 久久久蜜桃一区二区人| 久久久亚洲成人| 亚洲国产毛片完整版| 亚洲大胆女人| 欧美精品自拍| 亚洲欧美日韩国产成人精品影院| 亚洲综合精品一区二区| 韩国精品主播一区二区在线观看| 美女精品自拍一二三四| 欧美va天堂在线| 亚洲视频日本| 欧美亚洲视频一区二区| 亚洲国产你懂的| 亚洲开发第一视频在线播放| 国产精品另类一区| 欧美1区免费| 欧美日韩在线播放三区| 久久精品伊人| 欧美精品手机在线| 久久国产毛片| 欧美精品一区二区三区蜜桃 | 欧美ed2k| 香蕉久久精品日日躁夜夜躁| 久久久精品网| 亚洲午夜电影在线观看| 久久精品国产清自在天天线| 亚洲美女色禁图| 欧美伊人影院| 中文精品视频| 久久久久久亚洲精品杨幂换脸| 一区二区国产日产| 久久精品99无色码中文字幕| 亚洲一区二区三区乱码aⅴ蜜桃女| 久久久精品国产免费观看同学 | 亚洲欧美精品伊人久久| 久久视频这里只有精品| 亚洲欧美在线网| 欧美激情视频在线免费观看 欧美视频免费一 | 欧美搞黄网站| 国产精品久久婷婷六月丁香| 欧美aⅴ99久久黑人专区| 国产精品日韩欧美大师| 亚洲国产精品第一区二区| 国产在线播放一区二区三区| 亚洲少妇自拍| 日韩一区二区精品在线观看| 久久久久久免费| 久久久精品国产一区二区三区| 国产精品高潮呻吟久久av无限| 亚洲国产导航| 亚洲国产欧美日韩| 久久久在线视频| 久久综合久色欧美综合狠狠 | 99精品热视频只有精品10| 久久亚洲春色中文字幕久久久| 欧美一区视频| 国产乱码精品一区二区三区五月婷 | 亚洲欧美成人在线| 亚洲一本大道在线| 欧美精品一卡二卡| 亚洲国产成人av好男人在线观看| 国外成人在线视频| 久久精品男女| 免费高清在线视频一区·| 韩国av一区二区三区| 欧美在线一二三| 久久久夜夜夜| 依依成人综合视频| 久久午夜影视| 亚洲韩国日本中文字幕| 99伊人成综合| 国产精品porn| 香蕉久久夜色| 欧美成人午夜激情视频| 亚洲日本欧美| 欧美日韩在线视频一区二区| 亚洲天堂偷拍| 久久久久一区二区| 亚洲福利专区| 欧美调教视频| 欧美专区亚洲专区| 欧美国产欧美亚洲国产日韩mv天天看完整| 激情成人亚洲| 欧美精品观看| 亚洲欧美视频一区| 蜜桃av噜噜一区二区三区| 亚洲精品五月天| 国产精品日韩欧美| 久久青青草原一区二区| 亚洲精品午夜精品| 久久精品二区| 亚洲美女视频网| 国产亚洲精品aa午夜观看| 老巨人导航500精品| 99日韩精品| 美国成人直播| 亚洲综合欧美| 亚洲国产另类久久精品| 国产精品久久久久aaaa| 欧美大片免费观看| 国产亚洲福利| 欧美激情精品久久久久久蜜臀| 亚洲深夜福利视频| 欧美夫妇交换俱乐部在线观看| 亚洲一二三四区| 1769国产精品| 国产精品视频大全| 麻豆精品视频在线观看视频| 正在播放日韩| 亚洲电影免费在线观看| 先锋影音网一区二区| 亚洲欧洲日产国产综合网| 国产精品一区久久久| 欧美屁股在线| 久久亚洲午夜电影| 亚洲欧美在线一区| 99国产精品视频免费观看一公开| 久久九九免费视频| 亚洲线精品一区二区三区八戒| 亚洲韩国日本中文字幕| 国产真实乱子伦精品视频| 国产精品视频一区二区三区| 欧美日韩一级片在线观看| 欧美凹凸一区二区三区视频| 久久精品国产一区二区电影| 亚洲一区中文|