一拷获、ODBC的介紹
? ?相信使用Excel 或 Access的用戶篮撑,會(huì)用到ODBC連接到Sqlserver mysql oracle 或其它數(shù)據(jù)庫(kù),如果用過(guò)的用戶都知道 ODBC分用戶數(shù)據(jù)源與系統(tǒng)數(shù)據(jù)源匆瓜,但最近在微軟365的Access發(fā)現(xiàn)還有一種機(jī)器數(shù)據(jù)源赢笨,在之前 這個(gè)機(jī)器數(shù)據(jù)源均等同于系統(tǒng)數(shù)據(jù)源未蝌,但在365新版的Access發(fā)現(xiàn) 在Access中創(chuàng)建的Odbc機(jī)器數(shù)據(jù)源 在ODBC管理器的系統(tǒng)數(shù)據(jù)源中是看不到的。只有在
Access中才能看到
? ? ?先來(lái)簡(jiǎn)單介紹一下ODBC數(shù)據(jù)源
ODBC(Open Database Connectivity茧妒,開(kāi)放數(shù)據(jù)庫(kù)互連)是微軟公司開(kāi)放服務(wù)結(jié)構(gòu)(WOSA萧吠,Windows Open Services Architecture)中有關(guān)數(shù)據(jù)庫(kù)的一個(gè)組成部分,它建立了一組規(guī)范桐筏,并提供了一組對(duì)數(shù)據(jù)庫(kù)訪問(wèn)的標(biāo)準(zhǔn)API(應(yīng)用程序編程接口)纸型。這些API利用SQL來(lái)完成其大部分任務(wù)。ODBC本身也提供了對(duì)SQL語(yǔ)言的支持梅忌,用戶可以直接將SQL語(yǔ)句送給ODBC狰腌。一組數(shù)據(jù)的位置,可以使用 ODBC驅(qū)動(dòng)程序訪問(wèn)該位置牧氮。
二琼腔、ODBC的優(yōu)點(diǎn)
? ? ? 一個(gè)基于ODBC的應(yīng)用程序?qū)?shù)據(jù)庫(kù)的操作不依賴任何DBMS,不直接與DBMS打交道踱葛,所有的數(shù)據(jù)庫(kù)操作由對(duì)應(yīng)的DBMS的ODBC驅(qū)動(dòng)程序完成丹莲。也就是說(shuō),不論是FoxPro尸诽、Access還是Oracle數(shù)據(jù)庫(kù)甥材,均可用ODBC API進(jìn)行訪問(wèn)。由此可見(jiàn)性含,ODBC的最大優(yōu)點(diǎn)是能以統(tǒng)一的方式處理所有的數(shù)據(jù)庫(kù)
ODBC技術(shù)以C\S結(jié)構(gòu)為設(shè)計(jì)基礎(chǔ)擂达,它使得應(yīng)用程序與DBMS之間在邏輯上可以分離,使得應(yīng)用程序具有數(shù)據(jù)庫(kù)無(wú)關(guān)性胶滋。ODBC定義了一個(gè)API板鬓,每個(gè)應(yīng)用程序利用相同的源代碼就可以訪問(wèn)不同的數(shù)據(jù)庫(kù)系統(tǒng),存取多個(gè)數(shù)據(jù)庫(kù)中的數(shù)據(jù)究恤。與嵌入式SQL相比俭令,ODBC一個(gè)最顯著的優(yōu)點(diǎn)是用它生成的應(yīng)用程序與數(shù)據(jù)庫(kù)或數(shù)據(jù)庫(kù)引擎無(wú)關(guān)。
ODBC使應(yīng)用程序具有良好的互用性和可移植性部宿,并且具備同時(shí)訪問(wèn)多種DBS的能力抄腔,從而克服了傳統(tǒng)數(shù)據(jù)庫(kù)應(yīng)用程序的缺陷。
三理张、ODBC分類
作者:小辣椒高效Office
1赫蛇、用戶數(shù)據(jù)源(User Data Source):
這種數(shù)據(jù)源只對(duì)創(chuàng)建它的用戶可見(jiàn)。
?計(jì)算機(jī)\HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\userOdbc1
2雾叭、系統(tǒng)數(shù)據(jù)源
這種數(shù)據(jù)源對(duì)所有用戶可見(jiàn)悟耘。它通常存儲(chǔ)在系統(tǒng)配置中
32位與64位存在不同的位置?
32位:
計(jì)算機(jī)\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\ODBC\ODBC.INI
64位:計(jì)算機(jī)\HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI
3.?機(jī)器數(shù)據(jù)源(有些電腦與系統(tǒng)數(shù)據(jù)源一樣,有些版本則有區(qū)別)
我使用的這臺(tái)電腦的機(jī)器數(shù)據(jù)源與系統(tǒng)數(shù)據(jù)源就有不同织狐,
64位存放在
Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\ClickToRun\REGISTRY\MACHINE\Software\ODBC\ODBC.INI\ODBC Data Sources
如果是32位暂幼,則存放在?
計(jì)算機(jī)\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\ClickToRun\REGISTRY\MACHINE\Software\Wow6432Node\ODBC\ODBC.INI\kingdee2
?
四筏勒、ODBC的組成部分
一個(gè)完整的ODBC由下列幾個(gè)部件組成:
1.應(yīng)用程序(Application)。
2.ODBC管理器(Administrator)旺嬉。該程序位于Windows控制面板(Control Panel)的管理工具內(nèi)管行,其主要任務(wù)是管理安裝的ODBC驅(qū)動(dòng)程序和管理數(shù)據(jù)源。
3.驅(qū)動(dòng)程序管理器(Driver Manager)邪媳。驅(qū)動(dòng)程序管理器包含在ODBC32.DLL中捐顷,對(duì)用戶是透明的。其任務(wù)是管理ODBC驅(qū)動(dòng)程序雨效,是ODBC中最重要的部件套菜。
4.ODBC API。
5.ODBC 驅(qū)動(dòng)程序设易。是一些DLL,提供了ODBC和數(shù)據(jù)庫(kù)之間的接口蛹头。
6.數(shù)據(jù)源顿肺。數(shù)據(jù)源包含了數(shù)據(jù)庫(kù)位置和數(shù)據(jù)庫(kù)類型等信息,實(shí)際上是一種數(shù)據(jù)連接的抽象渣蜗。
應(yīng)用程序要訪問(wèn)一個(gè)數(shù)據(jù)庫(kù)屠尊,首先必須用ODBC管理器注冊(cè)一個(gè)數(shù)據(jù)源,管理器根據(jù)數(shù)據(jù)源提供的數(shù)據(jù)庫(kù)位置耕拷、數(shù)據(jù)庫(kù)類型及ODBC驅(qū)動(dòng)程序等信息讼昆,建立起ODBC與具體數(shù)據(jù)庫(kù)的聯(lián)系。這樣骚烧,只要應(yīng)用程序?qū)?shù)據(jù)源名提供給ODBC浸赫,ODBC就能建立起與相應(yīng)數(shù)據(jù)庫(kù)的連接。
在ODBC中赃绊,ODBC API不能直接訪問(wèn)數(shù)據(jù)庫(kù)既峡,必須通過(guò)驅(qū)動(dòng)程序管理器與數(shù)據(jù)庫(kù)交換信息。驅(qū)動(dòng)程序管理器負(fù)責(zé)將應(yīng)用程序?qū)DBC API的調(diào)用傳遞給正確的驅(qū)動(dòng)程序碧查,而驅(qū)動(dòng)程序在執(zhí)行完相應(yīng)的操作后运敢,將結(jié)果通過(guò)驅(qū)動(dòng)程序管理器返回給應(yīng)用程序。
在訪問(wèn)ODBC數(shù)據(jù)源時(shí)需要ODBC驅(qū)動(dòng)程序的支持忠售。多數(shù)情況下Windows系統(tǒng)已經(jīng)安裝了SQL Server传惠、 Access、 Paradox稻扬、 dBase卦方、 FoxPro、 Excel泰佳、 Microsoft Text等驅(qū)動(dòng)程序愿汰,可直接使用困后,而Mysql Oracle 一些高版本這些數(shù)據(jù)源驅(qū)動(dòng)程序需要自己手動(dòng)安裝。
希望對(duì)您有所幫助衬廷,可點(diǎn)摇予,贊,及吗跋,關(guān)侧戴,注,我