GIS數(shù)據(jù)庫(kù)系統(tǒng)中OCI的應(yīng)用
O 引言
Oracle憑借其優(yōu)越的穩(wěn)定性和卓越的性能在眾多領(lǐng)域里有著廣泛的應(yīng)用。高性能是Oracle優(yōu)于其他數(shù)據(jù)庫(kù)的關(guān)鍵因素,隨著圖形科學(xué)、空間分析等科學(xué)廣泛深入,GIS(Geographic Information System)數(shù)據(jù)庫(kù)在空間數(shù)據(jù)庫(kù)方面中應(yīng)用越來越廣泛。
與此同時(shí)在數(shù)據(jù)庫(kù)應(yīng)用開發(fā)過程中,應(yīng)用程序的開發(fā)語(yǔ)言和開發(fā)方式對(duì)終端應(yīng)用程序的性能有著重要的影響。數(shù)據(jù)庫(kù)開發(fā)有多種接口方式,如OCI/OCCI,ADO通用接口,ODBC,0040,OLEDB。其中以OCI(Oracle Call Interface)應(yīng)用最廣,性能最好。本文通過實(shí)例分析介紹GIS數(shù)據(jù)庫(kù)系統(tǒng)中OCI應(yīng)用以及GIS數(shù)據(jù)庫(kù)發(fā)展方向。
1 GIS介紹
Oracle Spatial是Oracle數(shù)據(jù)庫(kù)中非常重要的組件選項(xiàng),它提供了一套SQL方案和函數(shù),用來存儲(chǔ)、檢索、更新和查詢數(shù)據(jù)庫(kù)中的空間要素集合,它包括一個(gè)方案(MDSYS),描述支持幾何數(shù)據(jù)類型的存儲(chǔ)、語(yǔ)法以及語(yǔ)義。添加了Spatial的Oracle是一個(gè)完整的空間數(shù)據(jù)庫(kù)。GIS是以信息的采集、存儲(chǔ)、描述、分析和應(yīng)用與空間地理分布有關(guān)的數(shù)據(jù)的計(jì)算機(jī)系統(tǒng)。作為數(shù)據(jù)庫(kù)管理技術(shù)、計(jì)算機(jī)圖形學(xué)以及空間分析方法的共同產(chǎn)物,已在科教、軍事、政府等部門得到了長(zhǎng)足的應(yīng)用。
2 OCI應(yīng)用及特點(diǎn)
OCI是Oracle數(shù)據(jù)庫(kù)調(diào)用接口,是由Oracle提供的用于開發(fā)前端應(yīng)用程序及中間件的C/C++開發(fā)類庫(kù)。
通過OCI,可以控制所有類型的SQL語(yǔ)句的執(zhí)行,包括DDL、控制語(yǔ)句(事務(wù)、會(huì)話、系統(tǒng))、查詢、DML、PL/SQL,以及嵌入式SQL。OCI能夠最大程度地控制程序的運(yùn)行,執(zhí)行Oracle服務(wù)器所允許的多有數(shù)據(jù)庫(kù)操作,可以訪問Oracle數(shù)據(jù)庫(kù)服務(wù)器里的所有數(shù)據(jù)類型,包括標(biāo)量值、集合和所有對(duì)象類型的實(shí)例,可以以引用的方式訪問對(duì)象及其元數(shù)據(jù),可以動(dòng)態(tài)獲取、修改對(duì)象的屬性值。其開發(fā)過程如圖1所示。
OCI是Oracle開發(fā)接口的底層實(shí)現(xiàn),而ADO,JDBC都是在OCI上層的封裝。因此,OCI少了很多層的封裝,可以提供應(yīng)用程序與Oracle的直接連接,所以O(shè)CI可以提供最佳的性能。并且OCI程序具有SQL非過程性的優(yōu)點(diǎn),使開發(fā)的編程技術(shù)具有更強(qiáng)的數(shù)據(jù)處理能力。
3 跨域?qū)嵗龑?shí)現(xiàn)分析
某大型跨地域商城監(jiān)控管理系統(tǒng)利用GIS模塊,可以在監(jiān)控管理界面上引入電子地圖來實(shí)現(xiàn)各分散地域的集中管控、重點(diǎn)部門監(jiān)控以及所有靜態(tài)信息的聯(lián)動(dòng)。其中,在連接各地?cái)?shù)據(jù)庫(kù)實(shí)現(xiàn)信息交互時(shí)根據(jù)要求調(diào)用統(tǒng)一接口開發(fā)程序,并利用統(tǒng)一的信息傳輸體制實(shí)現(xiàn)整個(gè)系統(tǒng)的維護(hù)和使用。
3.1 整體方案設(shè)計(jì)
系統(tǒng)開發(fā)平臺(tái)選用VC++6.0,使用OCI組件連接Oracle數(shù)據(jù)庫(kù),其中各單位的地理信息通過地圖采集輸入。軟件的設(shè)計(jì)方案如圖2所示。
評(píng)論