摘要:在大中小型數(shù)據(jù)管理應(yīng)用軟件開(kāi)發(fā)領(lǐng)域,PowerBuilder和Oracle相結(jié)合有著很大的優(yōu)勢(shì),但是,當(dāng)前在這方面的研究還不是很細(xì)致。本文對(duì)PowerBuilder和Oracle的相關(guān)概念進(jìn)行了概述,并對(duì)PowerBuilder與Oracle如何進(jìn)行連接、如何將文本數(shù)據(jù)入庫(kù)以及怎樣利用動(dòng)態(tài)數(shù)據(jù)窗口對(duì)我們的工作進(jìn)行優(yōu)化進(jìn)行了簡(jiǎn)要的分析,希望能給這方面的研究起到一定的指導(dǎo)作用。
關(guān)鍵詞:PowerBuilder;Oracle;應(yīng)用軟件開(kāi)發(fā)
中圖分類號(hào):TP311.52 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9599 (2012) 17-0000-02
在應(yīng)用軟件開(kāi)發(fā)的工作中,當(dāng)前多以B/S方式為主,不過(guò),這一類方式很難應(yīng)用到所有的領(lǐng)域之中,目前很多做法都是比較勉強(qiáng)的,這就違背了我們軟件開(kāi)發(fā)的實(shí)用性原則,針對(duì)這種情況,基于PowerBuilder和Oracle的C/S模式應(yīng)用軟件開(kāi)發(fā)是一種不錯(cuò)的方式。但是,在這個(gè)過(guò)程中,由于關(guān)于這方面的研究的比較少,使其具有一定的難度,基于此,本文針對(duì)基PowerBuilder和Oracle的應(yīng)用軟件開(kāi)發(fā)進(jìn)行講解,希望對(duì)我們的工作產(chǎn)生一定的指導(dǎo)意義。
1 相關(guān)概念概述
1.1 Oracle
(1)關(guān)于Oracle的概述。本文中提到的Oracle指的是Oracle Database,在日常的工作中也被我們稱之為Oracle RDBMS。它是一款甲骨文公司提供的數(shù)據(jù)庫(kù)管理系統(tǒng),在當(dāng)前的市場(chǎng)中處于一個(gè)主導(dǎo)地位。其不僅有著非常完善的管理功能,還擁有一個(gè)比較完備的關(guān)系。
(2)Oracle的特點(diǎn)。了解Oracle的特點(diǎn)對(duì)于我們基于PowerBuilder和Oracle的應(yīng)用軟件開(kāi)發(fā)有著重要的指導(dǎo)作用,總體來(lái)說(shuō),Oracle具有的特點(diǎn)可以總結(jié)為:
首先,數(shù)據(jù)管理功能完善,這主要包括對(duì)于保存數(shù)據(jù)具有持久性、可靠性、共享性。其次,關(guān)系非常完備,這一個(gè)特點(diǎn)包括:信息準(zhǔn)則、保證訪問(wèn)準(zhǔn)則、視圖更新準(zhǔn)則以及數(shù)據(jù)物理性和邏輯性獨(dú)立準(zhǔn)則。第三,具有分布式處理的功能,在Oracle這一數(shù)據(jù)庫(kù)中,從第五版開(kāi)始就具備了分布式處理能力,后續(xù)的幾個(gè)版本又對(duì)這一功能進(jìn)行了完善。最后,對(duì)數(shù)據(jù)倉(cāng)庫(kù)的操作非常方便。
(3)和Sybase SQL Server的比較。相對(duì)于Sybase SQL Server的虛擬服務(wù)器模式,Oracle所使用模式為并行服務(wù)器模式,這種模式的差異使得Oracle在對(duì)稱多處理方面存在著非常大的優(yōu)勢(shì)。在我們的工作中,針對(duì)系統(tǒng)性能的提升,當(dāng)前最主要的方式有兩種:提升單臺(tái)服務(wù)器性能以及提升服務(wù)器數(shù)量,如果我們使用前者對(duì)其性能進(jìn)行提升的時(shí)候,最好的選擇是使用Oracle,這主要是因?yàn)槠淇梢栽趯?duì)稱多CPU的系統(tǒng)上提供并行處理。
此外,從數(shù)據(jù)分布更新這個(gè)角度來(lái)看,Oracle所使用的是自動(dòng)的2PC,至于Sybase,使用的則是可編程2PC。因此,在對(duì)其進(jìn)行選擇的過(guò)程中,我們要結(jié)合實(shí)際的需求,舉例來(lái)說(shuō),如果數(shù)據(jù)量非常大,而且并發(fā)操作非常的多,那么我們最好選擇ORACLE。
1.2 PowerBuilder
(1)PowerBuilder概述。PowerBuilder是一種開(kāi)發(fā)工具,是Sybase公司提供的。這一工具不僅包含了圖形界面以及配套的編程語(yǔ)言,還提供和大型數(shù)據(jù)庫(kù)進(jìn)行連接的接口。
(2)PowerBuilder特點(diǎn)。PowerBuilder具有的特點(diǎn)可以總結(jié)為:首先,可視化、多特性,在這一工具中,對(duì)Windows系統(tǒng)提供的各種函數(shù)都有很好的支持,而且PowerScript這一編程語(yǔ)言還提供編譯器、調(diào)試器以及很多的內(nèi)部函數(shù)。
(3)面向?qū)ο筮@一功能非常的強(qiáng)大,PowerBuilder不僅可以建立可視對(duì)象模型以及不可視對(duì)象模型,還對(duì)類似于繼承、數(shù)據(jù)封裝等面向?qū)ο缶幊碳夹g(shù)提供了很好的支持,這就提升了程序的可靠性,對(duì)于我們應(yīng)用程序的開(kāi)發(fā)比較有利。
(4)對(duì)于比較復(fù)雜的應(yīng)用程序也有很好的支持,PowerBuilder在基于Windows的應(yīng)用程序支持上有很好的表現(xiàn),我們能夠通過(guò)利用其內(nèi)置的Watcom C/C++對(duì)一個(gè)類進(jìn)行定義、編譯和調(diào)試。
(5)查詢、報(bào)表及圖形的功能非常強(qiáng)大。由于這一工具提供了可視化查詢生成器,我們可以利用其建立一個(gè)查詢對(duì)象,必將這一查詢的結(jié)果作為報(bào)表的數(shù)據(jù)來(lái)源。
2 應(yīng)用軟件開(kāi)發(fā)的要點(diǎn)
在基于PowerBuilder和Oracle的應(yīng)用軟件開(kāi)發(fā)的過(guò)程中,需要注意的問(wèn)題有很多,總結(jié)起來(lái)主要是PowerBuilder與Oracle的連接、如何將文本數(shù)據(jù)入庫(kù)以及怎樣利用動(dòng)態(tài)數(shù)據(jù)窗口對(duì)我們的工作進(jìn)行優(yōu)化。
2.1 PowerBuilder與Oracle的連接
在基于PowerBuilder和Oracle的應(yīng)用軟件開(kāi)發(fā)中,PowerBuilder與Oracle的連接屬于一個(gè)關(guān)鍵的內(nèi)容。在筆者的工作中,經(jīng)常會(huì)發(fā)現(xiàn)一些程序員在對(duì)數(shù)據(jù)庫(kù)進(jìn)行調(diào)用的時(shí)候出現(xiàn)失敗的情況,其中很大一部分的原因都是這一工作沒(méi)有做好。
在實(shí)現(xiàn)連接的過(guò)程中,我們可以根據(jù)具體的需求,對(duì)客戶端的接口軟件進(jìn)行靈活的選擇。假設(shè)我們已經(jīng)完成了Oracle客戶端的安裝,那么就能夠通過(guò)Sqlplus以及Tnsping等來(lái)實(shí)現(xiàn)與Oracle的連接。如果在這個(gè)過(guò)程中存在疑問(wèn),可以從Oracle的目錄下的tnsname.ora文件中找到。此外,在這個(gè)過(guò)程中,我們應(yīng)保證搜索路徑已經(jīng)包涵了SQLNET的安裝目錄。
當(dāng)進(jìn)入到PowerBuilder的Database Profiles畫(huà)筆以后,就會(huì)非常清晰的看到所有數(shù)據(jù)庫(kù)接口,如果使用的Oracle版本比較低,則需要在安裝的過(guò)程中進(jìn)行指定,完成這一工作以后,選擇“O73 Oracle 7.3”,再選擇“New”按鈕,經(jīng)過(guò)以上的過(guò)程之后,我們就會(huì)看到Database Profile Setup這一對(duì)話框,在其中“Connection”中按照提示輸入相應(yīng)的內(nèi)容即可。
就PB6.0舉例而言,對(duì)Oracle存儲(chǔ)進(jìn)行調(diào)用的方法主要可以分為以下幾種:
(1)通過(guò)關(guān)鍵字來(lái)實(shí)現(xiàn)對(duì)存儲(chǔ)過(guò)程的聲明;
(2)通過(guò)DECLARE?PROCEDURE語(yǔ)句實(shí)現(xiàn)對(duì)存儲(chǔ)過(guò)程的聲明;
(3)利用動(dòng)態(tài)SQL語(yǔ)句來(lái)實(shí)現(xiàn)實(shí)現(xiàn)對(duì)Oracle存儲(chǔ)的調(diào)用;
(4)通過(guò)對(duì)PBDBMS.Put-Line函數(shù)的調(diào)用來(lái)實(shí)現(xiàn)。
在這四種方法中,第一種無(wú)論在功能的完善上,還是在運(yùn)行的效率上效果都是不錯(cuò)的,因此,這也是最為常見(jiàn)的一種方法。不過(guò)對(duì)于一些類型的存儲(chǔ)過(guò)程,通過(guò)第一種方法是實(shí)現(xiàn)不了的,所以,我們只有使用其他的方法。
2.2 如何實(shí)現(xiàn)文本類數(shù)據(jù)入庫(kù)
在將文本類數(shù)據(jù)入庫(kù)的過(guò)程中,我們最常使用的方法是把PowerBuilder的MLE當(dāng)作界面,對(duì)數(shù)據(jù)進(jìn)行編輯之后將其儲(chǔ)存到Oracle的LONG字段,對(duì)其進(jìn)行查詢的時(shí)候再?gòu)腖ONG字段里面取出來(lái)。
2.3 如何使用動(dòng)態(tài)數(shù)據(jù)窗口來(lái)優(yōu)化我們的工作量
程序運(yùn)行的過(guò)程中,利用SQL語(yǔ)句改變動(dòng)態(tài)的創(chuàng)建、對(duì)數(shù)據(jù)窗口內(nèi)容進(jìn)行修改及表現(xiàn)的形式就是動(dòng)態(tài)數(shù)據(jù)窗口的利用過(guò)程,經(jīng)過(guò)使用動(dòng)態(tài)數(shù)據(jù)窗口,可以使界面比較統(tǒng)一,對(duì)于提升編程的效率有著很大的促進(jìn)作用。
3 結(jié)語(yǔ)
開(kāi)發(fā)工具及開(kāi)發(fā)方式是軟件開(kāi)發(fā)的一個(gè)重要內(nèi)容,選擇周期短、靈活性高的工具對(duì)于提升我們的工作效率、保證我們的工作質(zhì)量有著重要的促進(jìn)意義。而PowerBuilder正是完美的符合這一要求,而且它還能和EXCEL進(jìn)行結(jié)合,對(duì)輸出進(jìn)行規(guī)范,這就使其具有很大的前景。另外,如果在這個(gè)過(guò)程中配合上Oracle數(shù)據(jù)庫(kù)將會(huì)對(duì)我們工作的可靠性提供又一個(gè)有力的保證。所以做好基于PowerBuilder和Oracle的應(yīng)用軟件開(kāi)發(fā)的研究將會(huì)有很深遠(yuǎn)的意義。
參考文獻(xiàn):
[1]靳小紅,楊運(yùn)峰.PowerBuilder中利用OLE技術(shù)實(shí)現(xiàn)與Excel的通信[J].內(nèi)江科技,2008,1.
[2]李巧君,呂俊霞.PowerBuilder平臺(tái)下實(shí)現(xiàn)利用OLE控件生成Excel文件[J].科技資訊,2007,10.