|
(文/李樹愛)
---- PowerBuilder是目前較為流行的Client/Server應(yīng)用程序開發(fā)工具,利用它可以很快速地開發(fā)出功能強大的應(yīng)用程序,在各行各業(yè)中應(yīng)用非常廣泛。
---- Microsoft SQL Server6.5是基于Client/Server結(jié)構(gòu)的數(shù)據(jù)庫管理系統(tǒng),在C/S結(jié)構(gòu)的應(yīng)用中,服務(wù)器端軟件用于存儲數(shù)據(jù)、處理數(shù)據(jù)請求、維護數(shù)據(jù)完整性,而客戶端軟件用于處理用戶界面、生成數(shù)據(jù)請求、將返回結(jié)果顯示給用戶,這種結(jié)構(gòu)使得該系統(tǒng)能夠在服務(wù)器和客戶機之間平衡負載,在整體性能上與傳統(tǒng)的基于文件共享方式數(shù)據(jù)庫管理系統(tǒng)相比有大幅度的提高。Microsoft SQL Server6.5支持大規(guī)模的應(yīng)用,它支持上千個并發(fā)用戶,多達上百萬的事物處理和超過200G大小的數(shù)據(jù)容量;它提供的自動鎖功能使得并發(fā)用戶可以安全而高效地訪問數(shù)據(jù),并且提供方便而靈活的備份和恢復(fù)方法,能夠確保設(shè)計良好的應(yīng)用中的數(shù)據(jù)在任何意外發(fā)生的情況下都可以最大限度地被恢復(fù);它與NT的結(jié)合緊密,易用性強,因此越來越多地被采用。
---- PowerBuilder中應(yīng)用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 //將查詢結(jié)果放在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)存使用限制,這樣當查詢出的相關(guān)AutoCAD圖形信息量較大,在同一個數(shù)據(jù)窗口顯示后滾動時程序會報系統(tǒng)溢出錯誤信息,可以在程序中用腳本控制,讓AutoCAD Drawing OLE控件中只顯示選中的圖形數(shù)據(jù)。
在包含blob或image等大二進制類型數(shù)據(jù)窗口中新增blob或image字段記錄時,應(yīng)先用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,應(yīng)用證明Microsoft的SQL Server運行情況良好,并且順利過渡2000年。
|