Oracle 10g不但支持多種程序,如Java、.NET、.Com和Win32,而且確保所有的程序開發(fā)都可以使用到Oracle高級的數(shù)據(jù)庫特性。也就是說,Oracle提供良好的開發(fā)環(huán)境,以支持各種應(yīng)用程序的開發(fā),并且,每個數(shù)據(jù)存取的驅(qū)動程序都經(jīng)過良好的設(shè)計,以達(dá)到最佳的存取功能。對于Windows的開發(fā)環(huán)境而言,最常使用的數(shù)據(jù)存取方式有.NET和.Com兩種,分別介紹如下。
??? .NET數(shù)據(jù)存取方式有三種,如圖13-1所示。第一種是程序語言(例如,ASP.NET等)通過OLE DB.NET調(diào)用Oracle OLE DB,再存取Oracle數(shù)據(jù)庫;第二種是程序語言通過ODBC.NET調(diào)用Oracle ODBC,再存取Oracle數(shù)據(jù)庫;第三種是程序語言通過Oracle Data Provider for.NET直接存取Oracle數(shù)據(jù)庫。
另一種數(shù)據(jù)存取的方式為.Com,如圖13-2所示。
??? .Com數(shù)據(jù)存取的方式有三種。第一種是程序語言(例如,ASP.NET等)通過Oracle Objects for OLE(0040)存取Oracle數(shù)據(jù)庫;第二種是程序語言通過ActiveX Data Objects(ADO)調(diào)用Oracle ODBC,再存取Oracle數(shù)據(jù)庫;第三種是程序語言通過ActiveX Data Objects(ADO)調(diào)用Oracle OLE DB,再存取Oracle數(shù)據(jù)庫。另外,程序語言也可以通過COM Automation Feature取得Oracle數(shù)據(jù)庫的數(shù)據(jù)。
??? Oracle 10g Web數(shù)據(jù)庫的存取如同前文所述,有多種數(shù)據(jù)存取的方式。在本節(jié)中,使用的方式如圖13-3所示。
??? 首先編寫ASP(Active Server Page)程序,通過ADO(ActiveX Data Object)訪問ODBC(Open Database Connectivity,開放式數(shù)據(jù)庫連接),再通過ODBC存取Oracle數(shù)據(jù)庫。
??? 在Oracle 10g Web數(shù)據(jù)庫的開發(fā)環(huán)境中,需要完成下列各項工作,才能從Internet上存取Oracle 10g Web數(shù)據(jù)庫,這些工作如下所示:
- 創(chuàng)建一個數(shù)據(jù)庫管理系統(tǒng)
- 設(shè)置ODBC
- 設(shè)置Web Server(例如,IIS的虛擬目錄)
- ASP程序的開發(fā)
??? 我們以本書的Misdb數(shù)據(jù)庫為例,請先完成前面章節(jié)中的項目管理,創(chuàng)建11個表,分別有EMP、depart、probuy、invoice、customer、delivery、Ord、product、stock、WIP和 salgrade表,并插入多條數(shù)據(jù)。下面,分別介紹設(shè)置ODBC、設(shè)置Web Server和開發(fā)ASP程序。
13-2??? 設(shè)置ODBC??? ODBC的全名是Open Database Connectivity(開放式數(shù)據(jù)庫連接),是應(yīng)用程序連接數(shù)據(jù)庫的接口。由于計算機(jī)的類型不同,從個人計算機(jī)到大型主機(jī),都有自己處理數(shù)據(jù)的方式,ODBC則可以連接到相同或不相同的數(shù)據(jù)庫管理系統(tǒng),因此,ODBC可以給應(yīng)用程序提供相同的存取數(shù)據(jù)庫的接口,程序設(shè)計員在設(shè)計連接不同數(shù)據(jù)庫時,只要處理與ODBC的連接就可以了,而不必針對不同的數(shù)據(jù)庫設(shè)計完全不同的程序。特別需要提醒的是,不同的數(shù)據(jù)庫都有自己對應(yīng)的ODBC驅(qū)動程序,在使用不同數(shù)據(jù)庫的同時,務(wù)必設(shè)置正確的ODBC驅(qū)動程序。就像在本節(jié)中,想要連接Oracle 10g數(shù)據(jù)庫,就必須設(shè)置Oracle ODBC驅(qū)動程序,操作步驟如下:
??? (1)選擇Start→Programs→Oracle-OraDb10g_home1→Configuration and Migration Tools→Microsoft ODBC Administrator,如圖13-4所示。
??? (2)打開ODBC Data Source Administrator,如圖13-5所示。 ?
??? (3)單擊System DSN標(biāo)簽,如圖13-6所示。
??? (4)單擊Add按鈕,出現(xiàn)如圖13-7所示的對話框。
??? (5)向下拖動滾動條,找到Oracle in OraDb10g_home1選項,選擇該選項,如圖13-8所示。
??? (6)單擊Finish按鈕,進(jìn)入Oracle ODBC Driver Configuration對話框,如圖13-9所示。
??? Data Source Name:自定義,程序調(diào)用時將使用這個名稱,請輸入misdbdsn。
??? TNS Service Name:Oracle TNS服務(wù)名稱,在創(chuàng)建數(shù)據(jù)庫時,一般默認(rèn)TNS服務(wù)名稱與數(shù)據(jù)庫名稱相同,請輸入MISDB,讀者也可以自定義。
??? User ID:用戶的賬戶名稱,這里使用System賬戶來測試。
??? (7)單擊Test Connection按鈕,出現(xiàn)Oracle ODBC Driver Connect對話框,如圖13-10所示。
??? Password:請輸入安裝時給System設(shè)置的密碼,或自行修改后的密碼。
??? (8)單擊OK按鈕,出現(xiàn)如圖13-11所示的對話框。
??? (9)單擊OK按鈕,回到Oracle ODBC Driver Configuration對話框,如圖13-12所示。
??? (10)單擊OK按鈕,回到ODBC Data Source Administrator的System DNS選項卡,如圖13-13所示。
??? (11)單擊OK按鈕,完成ODBC的設(shè)置。