明輝手游網(wǎng)中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

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

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

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

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

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

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

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

---- 程序代碼如下:

---- 1.按id號查詢某個圖形

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

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

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

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

后臺大型數(shù)據(jù)庫的管理非常重要,因為AutoCAD圖形信息量大,對數(shù)據(jù)庫要求比較高,我們在比較下選擇了Microsoft SQL Server6.5 + WinNT4.0平臺,現(xiàn)在庫存AutoCAD圖形6萬多個,數(shù)據(jù)庫大小18G,應用證明Microsoft的SQL Server運行情況良好,并且順利過渡2000年。