明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

在PB中應(yīng)用AutoCAD圖形數(shù)據(jù)庫(kù)

[摘要](文/李樹(shù)愛(ài)) ---- PowerBuilder是目前較為流行的Client/Server應(yīng)用程序開(kāi)發(fā)工具,利用它可以很快速地開(kāi)發(fā)出功能強(qiáng)大的應(yīng)用程序,在各行各業(yè)中應(yīng)用非常廣泛。 ---- Microsoft SQL Server6.5是基于Client/Server結(jié)構(gòu)的數(shù)據(jù)庫(kù)管理系統(tǒng),在C/...
(文/李樹(shù)愛(ài))

---- PowerBuilder是目前較為流行的Client/Server應(yīng)用程序開(kāi)發(fā)工具,利用它可以很快速地開(kāi)發(fā)出功能強(qiáng)大的應(yīng)用程序,在各行各業(yè)中應(yīng)用非常廣泛。

---- Microsoft SQL Server6.5是基于Client/Server結(jié)構(gòu)的數(shù)據(jù)庫(kù)管理系統(tǒng),在C/S結(jié)構(gòu)的應(yīng)用中,服務(wù)器端軟件用于存儲(chǔ)數(shù)據(jù)、處理數(shù)據(jù)請(qǐng)求、維護(hù)數(shù)據(jù)完整性,而客戶端軟件用于處理用戶界面、生成數(shù)據(jù)請(qǐng)求、將返回結(jié)果顯示給用戶,這種結(jié)構(gòu)使得該系統(tǒng)能夠在服務(wù)器和客戶機(jī)之間平衡負(fù)載,在整體性能上與傳統(tǒng)的基于文件共享方式數(shù)據(jù)庫(kù)管理系統(tǒng)相比有大幅度的提高。Microsoft SQL Server6.5支持大規(guī)模的應(yīng)用,它支持上千個(gè)并發(fā)用戶,多達(dá)上百萬(wàn)的事物處理和超過(guò)200G大小的數(shù)據(jù)容量;它提供的自動(dòng)鎖功能使得并發(fā)用戶可以安全而高效地訪問(wèn)數(shù)據(jù),并且提供方便而靈活的備份和恢復(fù)方法,能夠確保設(shè)計(jì)良好的應(yīng)用中的數(shù)據(jù)在任何意外發(fā)生的情況下都可以最大限度地被恢復(fù);它與NT的結(jié)合緊密,易用性強(qiáng),因此越來(lái)越多地被采用。

---- PowerBuilder中應(yīng)用AutoCAD圖形數(shù)據(jù)庫(kù)的方法:

---- 在PowerBuilder開(kāi)發(fā)環(huán)境的數(shù)據(jù)庫(kù)畫(huà)筆中,利用MS SQL Server 6.X連接上后臺(tái)大型數(shù)據(jù)庫(kù)MS SQL Server 6.5,建包含image字段dwg的表housedata,利用該表做一個(gè)數(shù)據(jù)窗口,再插入 OLE blob類型的控件,選擇Autocad Drawing類型。

---- 新建一窗口,放置一個(gè)OLE控件和一個(gè)數(shù)據(jù)窗口控件,將剛建好的數(shù)據(jù)窗口放在該窗口控件中,就可以通過(guò)命令按鈕的script編程實(shí)現(xiàn)對(duì)AutoCAD圖形數(shù)據(jù)庫(kù)的操作了。

---- 程序代碼如下:

---- 1.按id號(hào)查詢某個(gè)圖形

long id
blob b
selectblob dwg
//dwg字段為blob類型,
在SQLServer中為image類型
into :b
from housedata
where id=:id
using SQLCA;
ole_1.objectdata = b
//將查詢結(jié)果放在OLE控件中

---- 2.將激活的AutoCAD drawing OLE控件中修改或新繪的圖形信息存儲(chǔ)到后臺(tái)大型數(shù)據(jù)庫(kù) b = ole_1.objectdata //取新的圖形數(shù)據(jù)到bolb類型變量
updateblob housedata
set dwg = :b
where id = :id
using SQLCA;
……

---- 注意事項(xiàng):
在Win9*/WinNT環(huán)境中有32K內(nèi)存使用限制,這樣當(dāng)查詢出的相關(guān)AutoCAD圖形信息量較大,在同一個(gè)數(shù)據(jù)窗口顯示后滾動(dòng)時(shí)程序會(huì)報(bào)系統(tǒng)溢出錯(cuò)誤信息,可以在程序中用腳本控制,讓AutoCAD Drawing OLE控件中只顯示選中的圖形數(shù)據(jù)。

在包含blob或image等大二進(jìn)制類型數(shù)據(jù)窗口中新增blob或image字段記錄時(shí),應(yīng)先用insertrow的方法產(chǎn)生空的blob或image類型數(shù)據(jù),再根據(jù)id號(hào)用updateblob SQL語(yǔ)句將AutoCAD Drawing OLE控件中的圖形數(shù)據(jù)更新到新增的記錄字段中。

后臺(tái)大型數(shù)據(jù)庫(kù)的管理非常重要,因?yàn)锳utoCAD圖形信息量大,對(duì)數(shù)據(jù)庫(kù)要求比較高,我們?cè)诒容^下選擇了Microsoft SQL Server6.5 + WinNT4.0平臺(tái),現(xiàn)在庫(kù)存AutoCAD圖形6萬(wàn)多個(gè),數(shù)據(jù)庫(kù)大小18G,應(yīng)用證明Microsoft的SQL Server運(yùn)行情況良好,并且順利過(guò)渡2000年。