數(shù)據(jù)庫(kù)連接技術(shù)7節(jié).ppt
《數(shù)據(jù)庫(kù)連接技術(shù)7節(jié).ppt》由會(huì)員分享,可在線閱讀,更多相關(guān)《數(shù)據(jù)庫(kù)連接技術(shù)7節(jié).ppt(25頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
8.7連接數(shù)據(jù)庫(kù)技術(shù),8.7.1ODBC技術(shù)8.7.2ADO技術(shù)8.7.3VB連接SQLServer實(shí)例,8.7.1ODBC技術(shù),,ODBC(OpenDatabaseConnectivity,開放數(shù)據(jù)庫(kù)連接)是微軟公司開放服務(wù)結(jié)構(gòu)(WOSA,WindowsOpenServicesArchitecture)中有關(guān)數(shù)據(jù)庫(kù)的一個(gè)組成部分,它提供了一組規(guī)范和一組對(duì)不同類型的數(shù)據(jù)庫(kù)進(jìn)行訪問的標(biāo)準(zhǔn)API(應(yīng)用程序編程接口)函數(shù)。這些API利用SQL語(yǔ)言來(lái)完成其大部分任務(wù)。一個(gè)基于ODBC的應(yīng)用程序?qū)?shù)據(jù)庫(kù)的操作不依賴任何DBMS,所有對(duì)數(shù)據(jù)庫(kù)的操作由對(duì)應(yīng)的DBMS的ODBC驅(qū)動(dòng)程序完成。即不論是SQLSever、Access還是Oracle數(shù)據(jù)庫(kù),均可用ODBCAPI進(jìn)行訪問。ODBC的最大優(yōu)點(diǎn):以統(tǒng)一的方式處理所有的數(shù)據(jù)庫(kù)。,1ODBC概述,ODBC體系結(jié)構(gòu),8.7.1ODBC技術(shù),1.ODBC應(yīng)用程序(Application)ODBC應(yīng)用程序是用一般程序設(shè)計(jì)語(yǔ)言編寫的程序。2.ODBCAPI函數(shù)3.ODBC管理器(Administrator)該程序位于Windows95控制面板(ControlPanel)中,其主要任務(wù)是管理安裝的ODBC驅(qū)動(dòng)程序和管理數(shù)據(jù)源。4.ODBC驅(qū)動(dòng)程序管理器(DriverManager)驅(qū)動(dòng)程序管理器包含在ODBC32.DLL中,對(duì)用戶是透明的。應(yīng)用程序不能直接調(diào)用ODBC驅(qū)動(dòng)程序,只可調(diào)用ODBC驅(qū)動(dòng)程序管理器提供的ODBCAPI函數(shù),再由ODBC驅(qū)動(dòng)程序管理器負(fù)責(zé)把相應(yīng)的ODBC驅(qū)動(dòng)程序加載到內(nèi)存中,同時(shí)把應(yīng)用程序訪問數(shù)據(jù)的請(qǐng)求傳送給ODBC驅(qū)動(dòng)程序。,8.7.1ODBC技術(shù),5.ODBC驅(qū)動(dòng)程序ODBC驅(qū)動(dòng)程序具體負(fù)責(zé)把SQL請(qǐng)求傳送到數(shù)據(jù)源的DBMS中,再把操作結(jié)果返回到ODBC驅(qū)動(dòng)程序管理器。后者再把結(jié)果傳送至客戶端的應(yīng)用程序。每種支持ODBC的數(shù)據(jù)庫(kù)都擁有自己的驅(qū)動(dòng)程序,一種驅(qū)動(dòng)程序只能固定地與對(duì)應(yīng)的數(shù)據(jù)庫(kù)通信,不能訪問其他數(shù)據(jù)庫(kù)。6.?dāng)?shù)據(jù)源數(shù)據(jù)源就是需要訪問的數(shù)據(jù)庫(kù)。應(yīng)用程序若要通過ODBC訪問一個(gè)數(shù)據(jù)庫(kù),則首先要?jiǎng)?chuàng)建一個(gè)數(shù)據(jù)源,主要工作是指定數(shù)據(jù)源名(DSN,datasourcename),使其關(guān)聯(lián)一個(gè)目的數(shù)據(jù)庫(kù)以及相應(yīng)的ODBC驅(qū)動(dòng)程序。所以說,數(shù)據(jù)源實(shí)際上是一種數(shù)據(jù)連接的抽象,指定了數(shù)據(jù)庫(kù)位置和數(shù)據(jù)庫(kù)類型等信息。,8.7.1ODBC技術(shù),DSN有三種類型:(1)系統(tǒng)DSN——即是面向系統(tǒng)全部用戶的數(shù)據(jù)源,系統(tǒng)中的所有用戶都可以使用。(2)用戶DSN——即是僅面向某些特定用戶的數(shù)據(jù)源,只有通過身份驗(yàn)證才能連接。(3)文件DSN——即是用于從文本文件中獲取數(shù)據(jù),提供多用戶訪問。,8.7.1ODBC技術(shù),(1)ODBC應(yīng)用程序(2)ODBCAPI函數(shù)(3)ODBCDSN(datasourcename)(4)ODBC驅(qū)動(dòng)程序管理器(5)ODBC驅(qū)動(dòng)程序(6)數(shù)據(jù)源,ODBC體系結(jié)構(gòu)的組成,8.7.1ODBC技術(shù),2.ODBC體系的工作流程,應(yīng)用程序要訪問一個(gè)數(shù)據(jù)庫(kù),首先必須用ODBC管理器注冊(cè)一個(gè)數(shù)據(jù)源。ODBC管理器根據(jù)數(shù)據(jù)源提供的數(shù)據(jù)庫(kù)位置、數(shù)據(jù)庫(kù)類型及ODBC驅(qū)動(dòng)程序等信息,建立起ODBC與具體數(shù)據(jù)庫(kù)的聯(lián)系。應(yīng)用程序?qū)⒁褎?chuàng)建好的數(shù)據(jù)源名提供給ODBC,ODBC就能建立起與相應(yīng)數(shù)據(jù)庫(kù)的連接,為訪問數(shù)據(jù)庫(kù)做好準(zhǔn)備。。在ODBC中,ODBCAPI函數(shù)不能直接訪問數(shù)據(jù)庫(kù),必須通過ODBC驅(qū)動(dòng)程序管理器與數(shù)據(jù)庫(kù)交換信息。ODBC驅(qū)動(dòng)程序管理器在應(yīng)用程序和數(shù)據(jù)源之間起著轉(zhuǎn)換與管理的作用。,8.7.1ODBC技術(shù),3.創(chuàng)建SQLSeverDSN,(1)在“控制面板”中的“管理工具”下雙擊“數(shù)據(jù)庫(kù)(ODBC)”圖標(biāo),打開“ODBC數(shù)據(jù)源管理器”,在“ODBC數(shù)據(jù)庫(kù)管理器”中可以選擇“用戶DSN”、“系統(tǒng)DSN”、“文件DSN”。,,8.7.1ODBC技術(shù),(2)如果要添加一個(gè)新的數(shù)據(jù)源可以單擊“添加”按鈕,彈出“創(chuàng)建新數(shù)據(jù)源”對(duì)話框,,,8.7.1ODBC技術(shù),(3)在上圖中選擇驅(qū)動(dòng)程序SQLServer,單擊“完成”按鈕。彈出“創(chuàng)建到SQLServer的新數(shù)據(jù)源”,如圖所示。,,本主機(jī)名稱,8.7.1ODBC技術(shù),(4)單擊“下一步”,出現(xiàn)選擇SQLServer數(shù)據(jù)庫(kù)服務(wù)器對(duì)登錄帳戶的身份驗(yàn)證方式的對(duì)話框,可以選擇Window身份驗(yàn)證或SQLServer身份驗(yàn)證。,,8.7.1ODBC技術(shù),(5)單擊“下一步”,在“更改默認(rèn)的數(shù)據(jù)庫(kù)為”下拉列表框中選擇所創(chuàng)建的數(shù)據(jù)庫(kù)名稱,,8.7.1ODBC技術(shù),,8.7.1ODBC技術(shù),8.7.2ADO技術(shù),1ADO的概述ActiveXDataObject(ADO)是繼ODBC之后功能強(qiáng)大的數(shù)據(jù)訪問技術(shù),是基于OLEDB的訪問接口,它是面向?qū)ο蟮腛LEDB技術(shù),繼承了OLEDB的優(yōu)點(diǎn)。屬于數(shù)據(jù)庫(kù)訪問的高層接口。ADO對(duì)象模型定義了一組可編程的自動(dòng)化對(duì)象,可應(yīng)用于各種支持自動(dòng)化特性的腳本語(yǔ)言。與一般的數(shù)據(jù)庫(kù)接口相比,ADO可更好的用于網(wǎng)絡(luò)環(huán)境,通過優(yōu)化技術(shù),它盡可能的降低網(wǎng)絡(luò)流量;ADO的另一個(gè)特性是使用簡(jiǎn)單,因?yàn)樗敲嫦蚋呒?jí)用戶的數(shù)據(jù)庫(kù)接口,而且使用一組簡(jiǎn)化的接口用以處理各種數(shù)據(jù)源。,,ADO的對(duì)象模型圖,8.7.2ADO技術(shù),2、ADO對(duì)象模型,在ADO模型中,主體對(duì)象只有三個(gè):Connection、Command、Recordset,其他四個(gè)集合對(duì)象為Errors、Propertie、Parameters和Fields,這些對(duì)象組成了ADO對(duì)象模型。典型的ADO應(yīng)用是:(1)使用Connection對(duì)象與數(shù)據(jù)源建立連接;(2)然后用一個(gè)Command對(duì)象給數(shù)據(jù)庫(kù)發(fā)出操作命令;(3)Recordset對(duì)象對(duì)結(jié)果集數(shù)據(jù)進(jìn)行維護(hù)或者瀏覽等操作。Recordset對(duì)象。Recordset對(duì)象代表一個(gè)表的記錄集或命令執(zhí)行的結(jié)果,在記錄集中,總有一個(gè)當(dāng)前記錄。記錄集是ADO管理數(shù)據(jù)的基本對(duì)象,它是一種表狀結(jié)構(gòu),每一行對(duì)應(yīng)一個(gè)記錄(Record),每一列對(duì)應(yīng)一個(gè)域(Field)。Recordset對(duì)象也可通過游標(biāo)對(duì)記錄進(jìn)行訪問。,8.7.2ADO技術(shù),,8.7.3VB連接數(shù)據(jù)庫(kù)實(shí)例,1.?dāng)?shù)據(jù)連接對(duì)象介紹VisualBasci6.0提供了一個(gè)新的數(shù)據(jù)庫(kù)接對(duì)象:ADODB,簡(jiǎn)稱ADO。ADO對(duì)象中最常用的屬性是Connection和Recordset。Connection屬性實(shí)現(xiàn)連接對(duì)象,它可以是SQLServer,Oracle,Access,或者ODBC等;Recordset對(duì)象實(shí)現(xiàn)對(duì)當(dāng)前ADO對(duì)象所連接的表進(jìn)行各種操作。微軟公司提供了一個(gè)控件Adodc控件,它是一個(gè)封裝了ADODB對(duì)象大部功能的控件,不是VB6.0內(nèi)部的部件,屬于外部控件。因此,當(dāng)需要它的時(shí)候,必須調(diào)用“部件”對(duì)話框,將它加入到工具箱中,方法如下:進(jìn)入VB,右擊工具箱,在彈出的菜單中選擇“部件”窗體中選擇“控件”選項(xiàng)卡,然后在控件列表框選擇下列控件(打勾表示選中):MicrosoftADODataContrl6.0(SP4)(ODLEDB);MicrosoftDataGridDataContrl6.0(SP4)(ODLEDB)。,,“部件”窗體,8.7.3VB連接數(shù)據(jù)庫(kù)實(shí)例,3、ADO控件連接SQLServer數(shù)據(jù)庫(kù)ADOData控件使用ActiveX數(shù)據(jù)對(duì)象來(lái)快速建立數(shù)據(jù)綁定的控件和數(shù)據(jù)提供者之間的連接。只要你把ADODC控件添加到你的程序中,就可以使用它來(lái)操作數(shù)據(jù)庫(kù)。ADO控件中ConnectionString屬性和RecordSource屬性是兩個(gè)非常重要的屬性。(1)ConnectionString屬性ConnectionString屬性值是一個(gè)字符串,可以包含進(jìn)行一個(gè)連接所需的所有設(shè)置值。在該字符串中所傳遞的參數(shù)是與驅(qū)動(dòng)程序相關(guān)的。例如:ODBC驅(qū)動(dòng)程序允許該字符串包含驅(qū)動(dòng)程序、提供者、缺省的數(shù)據(jù)庫(kù)、服務(wù)器、用戶名以及密碼等。類似下面的字符串。,8.7.3VB連接數(shù)據(jù)庫(kù)實(shí)例,Drive={SQLServer};server=hl;uid=sa;pwd=;database=northwind(2)RecordSource屬性RecordSource屬性包含一條語(yǔ)句或一個(gè)關(guān)系表名稱,用于決定從數(shù)據(jù)庫(kù)檢索什么信息。,8.7.3VB連接數(shù)據(jù)庫(kù)實(shí)例,3ADO對(duì)象在VisualBasic的應(yīng)用程序中通過ADO對(duì)象訪問SQLServer,ADO的主要對(duì)象包括Connection對(duì)象、Command對(duì)象、Recordset對(duì)象。(1)Connection對(duì)象提供與數(shù)據(jù)庫(kù)的連接??梢岳斫鉃榍岸藨?yīng)用程序訪問數(shù)據(jù)庫(kù)服務(wù)器而建立的一個(gè)通道。(2)Recordset對(duì)象返回對(duì)當(dāng)前數(shù)據(jù)庫(kù)操作的結(jié)果集。可以理解為容納從數(shù)據(jù)庫(kù)中查詢到數(shù)據(jù)的容器。,8.7.3VB連接數(shù)據(jù)庫(kù)實(shí)例,(3)Command對(duì)象Command是操作數(shù)據(jù)庫(kù)指令的ADO對(duì)象,可以接受SQL指令、表的操作指令和存儲(chǔ)過程指令,也可以發(fā)送SQL語(yǔ)句的命令。一般用來(lái)執(zhí)行SQL查詢,增加、刪除和在線更新數(shù)據(jù)庫(kù)中的數(shù)據(jù)。,8.7.3VB連接數(shù)據(jù)庫(kù)實(shí)例,,(4)ADODB對(duì)象連接SQLServer數(shù)據(jù)庫(kù)有兩種連接方法,一種是以WINDOWNT集成安全模式;另一種是指定用戶名和密碼的方式。以WINDOWNT集成安全模式的連接方法如下:DimconAsNewADODB.Connectioncon.Open"Provider=SQLOLEDB.1;IntegratedSecurity=SSPI;PersistSecurityInfo=False;InitialCatalog=Northwind"以SQLServer數(shù)據(jù)庫(kù)自帶的帳號(hào)“sa“登錄連接(它默認(rèn)無(wú)密碼):DimconAsNewADODB.Connectioncon.Open"Provider=SQLOLEDB.1;PersistSecurityInfo=False;UserID=saPWD=;InitialCatalog=Northwind",8.7.3VB連接數(shù)據(jù)庫(kù)實(shí)例,,5ADO對(duì)象使用舉例,8.7.3VB連接數(shù)據(jù)庫(kù)實(shí)例,- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來(lái)的問題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁(yè)顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國(guó)旗、國(guó)徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 數(shù)據(jù)庫(kù)連接 技術(shù)
鏈接地址:http://www.hcyjhs8.com/p-11543591.html