服務熱線
0755-26825352
1資料查詢問題的產(chǎn)生當模具設計人員接到設計任務之后,首先要對零件進行工藝性設計,然后才是結(jié)構(gòu)性設計。在進行工藝性設計和結(jié)構(gòu)性設計的過程中,設計人員不可避免地要查閱很多的設計資料,才能確定大量的工藝參數(shù)。如何方便、快速、準確地查詢到所需要的設計資料,是設計人員希望解決的一個問題。在模具協(xié)同設計中,這個問題更為突出。最原始的查詢方法主要由設計人員手工完成。面對一本本厚厚的手冊,就連一些經(jīng)驗豐富的設計人員也感到不堪重負。手工查詢需要經(jīng)常性地翻閱手冊,但是需要查閱的手冊不―定時時都在設計人員伸手可及的范圍內(nèi),而且通過手工查閱手冊,不但效率低,還容易造成數(shù)據(jù)出錯?! ∮腥嗽?jīng)提出:寫一個應用程序,然后在每個設計人員的電腦終端安裝,該應用程序調(diào)用安裝在本地機器上的數(shù)據(jù)庫。這首先涉及到一個軟件版權的問題,其次對客戶機的硬件配置提出了更高的要求。更為重要的是,數(shù)據(jù)庫的更新需要在每個客戶端分別進行,在模具協(xié)同設計中,不具有可操作性?! 榱藦氐捉鉀Q上述問題,本文提出利用分布式Web數(shù)據(jù)庫系統(tǒng)SQLServer2000作為后臺管理系統(tǒng),并利用界面友好的InternetExplorerBrowser作為人機交互的界面,開發(fā)一套簡潔明了、高效快捷、方便易用的“模具設計資料查詢系統(tǒng)”?! ?模具設計資料查詢系統(tǒng)的總體設計進行模具設計,是一個十分復雜的過程。要建好模具設計資料查詢系統(tǒng),使用戶能夠方便快捷地查詢到所需要的模具設計資料,對模具設計資料進行明確而詳細的分類整理是很重要的?! ”疚膶⒏鞣N設計資料手冊分成沖壓模具、塑料模具和標準件等幾個大類,在各個大類里面,分別根據(jù)手冊建成數(shù)據(jù)庫,通過人機交互的方式進行查詢。整個查詢系統(tǒng)的結(jié)構(gòu)如圖1所示。人機交互界面模塊采用目前流行的Windows風格的圖形用戶界面(GUl)――― IE瀏覽器。整個系統(tǒng)基于Web,采用B/S三層結(jié)構(gòu),用戶首先找到需要的設計資料的類別,然后輸入查詢條件,就能通過應用程序服務器連接到后臺數(shù)據(jù)庫,從中檢索出所需要的信息并將結(jié)果以HTML的形式反饋給用戶[1]。在這個系統(tǒng)中,資料查詢管理模塊放在應用程序服務器上,主要由ASP程序組成,負責處理用戶輸入的各種查詢信息。它是用戶和模具設計資料庫的接口,實現(xiàn)用戶數(shù)據(jù)和資料庫數(shù)據(jù)的傳遞,提供數(shù)據(jù)檢索、出錯處理等功能?! _壓模具設計資料數(shù)據(jù)庫包含了沖壓工藝設計中所需的各種工藝信息。它由沖裁數(shù)據(jù)庫、彎曲數(shù)據(jù)庫、拉延數(shù)據(jù)庫、成形數(shù)據(jù)庫、材料和熱處理數(shù)據(jù)庫、沖模零部件及其技術要求數(shù)據(jù)庫、壓力機數(shù)據(jù)庫等幾個部分組成。塑料模具設計資料數(shù)據(jù)庫包含了目前最流行的注射成形塑料模設計中所需要的各種工藝信息。 它由塑料材料庫、塑料成型機資料庫、塑料成型工藝參數(shù)庫、注射模資料庫、壓縮模資料庫、傳遞模資料庫、擠出模資料庫、吹塑模資料庫等幾個部分組成。 模具標準件數(shù)據(jù)庫包含了在所有模具設計過程中都可能用到的一些標準零件,如彈性零件(彈簧、聚胺酯等)、連接件(螺釘、螺母、銷釘?shù)龋?、模架等等。 ?數(shù)據(jù)庫系統(tǒng)的選擇從理論上講,所有數(shù)據(jù)庫系統(tǒng)都可以作為Web數(shù)據(jù)庫系統(tǒng)的后臺支持系統(tǒng),但實際上每種數(shù)據(jù)庫都有其自身的特點和適用環(huán)境。普通數(shù)據(jù)庫系統(tǒng)如Access、Foxpro等沒有系統(tǒng)安全管理和數(shù)據(jù)完整性保護,不太適合大型Web系統(tǒng)的開發(fā)。Web數(shù)據(jù)庫應用中常用的數(shù)據(jù)庫管理系統(tǒng)是Oracle、DB2和SQLServer?! racle是由Oracle公司推出的基于SQL的對象―――關系型分布式數(shù)據(jù)庫管理系統(tǒng)。該分布式數(shù)據(jù)庫管理系統(tǒng)實現(xiàn)了分布式系統(tǒng)所要求的分布透明、網(wǎng)絡透明及操作透明。其客戶服務器結(jié)構(gòu)提供四種常用特性:有效利用計算機、可擴充性、遠程數(shù)據(jù)庫存取和靈活性。但是該數(shù)據(jù)庫管理系統(tǒng)對工作站的硬件配置要求和對管理人員的能力要求均較高?! B2數(shù)據(jù)庫管理系統(tǒng)是內(nèi)嵌于IBMAS/400服務器上的,直接由硬件支持。DB2支持標準SQL語言,具有與異種數(shù)據(jù)庫相連的Gateway,因此速度快,可靠性好。但是這種數(shù)據(jù)庫依賴于IBMAS/400硬件平臺,價格較貴。SQLServer是Microsoft公司推出的一種高性能的關系型數(shù)據(jù)庫管理系統(tǒng),在Windows平臺上使用最方便。使用SQLServer可以開發(fā)不同類型的應用程序,其中包括以下各部分?! 。?)分布式數(shù)據(jù)庫應用程序分布式事務協(xié)調(diào)器(DTC)通過兩段式提交協(xié)議可以在多SQLServer服務器之間分發(fā)事務,利用存儲轉(zhuǎn)發(fā)服務和DB-LibraryAPI也可以設計分布式數(shù)據(jù)庫應用程序?! 。?)數(shù)據(jù)倉庫數(shù)據(jù)轉(zhuǎn)換服務(DTS)提供了一套基于OLEDB的COM對象,可以實現(xiàn)不同的OLEDB數(shù)據(jù)源之間的數(shù)據(jù)轉(zhuǎn)換操作?! 。?)Internet和Intranet應用增強了的SQL ServerWebAssistant和TCP/IP網(wǎng)絡功能,可以將SQL Server數(shù)據(jù)庫中的數(shù)據(jù)發(fā)送到HTML頁面中,通過代理服務器與Internet建立安全的連接?! 。?)管理工具SQIServer是基于SQL分布式管理對象(DMO)模型的,使用該模型編寫的管理工具能自動創(chuàng)建和管理SQLServer中的數(shù)據(jù)庫對象?! 「爬ㄆ饋?,SQLServer系統(tǒng)有如下優(yōu)點,這些優(yōu)點使得我們在查詢系統(tǒng)的開發(fā)中選用SQL作為數(shù)據(jù)庫管理系統(tǒng)?! 。?)管理方便EnterpriseManager是一個基于圖形用戶界面的集成管理工具,利用它可以管理SQLServer服務器和數(shù)據(jù)庫,并能實現(xiàn)數(shù)據(jù)備份和恢復的功能。 ?。?)并發(fā)控制能力強SQLServer是利用動態(tài)鎖定功能防止用戶在查詢和更新并發(fā)操作時相互間發(fā)生沖突,而且動態(tài)鎖定過程是由SQLServer自動處理的?! 。?)編程接口豐富SQLServer提供了T― SQL、DB― Library和嵌入式SQL等開發(fā)工具,并支持ODBC和OLEDB規(guī)范。 ?。?)伸縮性強能運行于Win95/98、Windows NTServer或者Workstation操作系統(tǒng)上,并實現(xiàn)動態(tài)管理,可滿足從桌面應用到分布式應用的各個層次需求?! 。?)充分利用BackOffice資源SQLServer能利用BackOffice提供的服務或功能,包括安全管理、時間日志、內(nèi)存管理等來增強自身數(shù)據(jù)庫系統(tǒng)的功能。 ?。?)多線程體系結(jié)構(gòu)SQLServer支持多線程操作,當多用戶并發(fā)訪問的時候,系統(tǒng)產(chǎn)生的額外負擔較小,在用戶數(shù)量增加的時候,運行速度也不會明顯下降?! 。?)對Web技術的支持使用戶能夠很容易地將數(shù)據(jù)庫中的數(shù)據(jù)發(fā)布到Web頁面上。 由于該查詢系統(tǒng)是基于Internet的,采用的是B/S的體系結(jié)構(gòu),在Windows操作系統(tǒng)中運行,有多個客戶端,而且對數(shù)據(jù)庫的穩(wěn)定性和安全性有較高的要求,因此在查詢系統(tǒng)的開發(fā)中選用SQLServer2000作為后臺數(shù)據(jù)庫管理系統(tǒng)?! ?數(shù)據(jù)庫設計模具設計資料數(shù)據(jù)庫設計的基本思想是:根據(jù)總體設計,對模具設計資料進行分類;然后對手冊中的各種表格進行抽象,變成SQLServer2000數(shù)據(jù)庫中的表,把各種規(guī)則也抽象成數(shù)據(jù)庫表的形式存儲起來以供查詢和檢索。由于模具設計的資料涉及到的手冊非常多,數(shù)據(jù)量大,要想能夠方便快捷地查詢,還必須建立好的索引方法,采用目錄樹結(jié)構(gòu)的方式來進行管理。所以,數(shù)據(jù)庫設計包括工藝數(shù)據(jù)表的設計和目錄數(shù)據(jù)表的設計?! ?.1工藝數(shù)據(jù)表的設計用一個例子來說明把工藝數(shù)據(jù)從手冊中的表抽象成數(shù)據(jù)庫中的表的過程。選用的例子是機械(機械制造業(yè)等待行業(yè)回暖)工業(yè)出版杜《沖壓手冊》第二版中第39頁的表2―表6沖裁件孔中心距離的極限偏差表。通過抽象,在SQLServer2000數(shù)據(jù)庫中,用兩張表來表達手冊中的這一個表?! ?.2目錄數(shù)據(jù)表的設計通過五級目錄樹來對模具設計資料庫進行管理。經(jīng)過抽象,五級目錄樹變成了的形式。字段定義手冊中的數(shù)據(jù)表編號。 5查詢的設計與程序?qū)崿F(xiàn)模具設計的資料數(shù)據(jù)庫設計好后,實現(xiàn)動態(tài)、交互式的查詢功能就是該子系統(tǒng)的重點了。這實際上是一個Web應用程序與數(shù)據(jù)庫集成的問題。筆者使用的開發(fā)工具是ASP(ActiveServerPages)?! SP是IIS提供的一種動態(tài)發(fā)布網(wǎng)頁技術,它能將HTML頁面、腳本命令、ASP內(nèi)建對象以及ActiveX組件完美結(jié)合起來,創(chuàng)建動態(tài)而高效的Web應用程序。在ASP訪問數(shù)據(jù)庫的過程中,正是通過一個ActiveX組件即ADO來完成的。通過ADO,ASP可以方便地實現(xiàn)對數(shù)據(jù)庫的操作。 5.1ADO工作原理ADO是一個運行于服務器端的ActiveX組件,所提供的功能是進行數(shù)據(jù)庫訪問。運用ADO,就可以編寫簡潔而又有擴展性的腳本,與ODBC數(shù)據(jù)源或者與OLEDB數(shù)據(jù)源進行連接,并可以對傳統(tǒng)數(shù)據(jù)庫(如Access、SQLServer)和其他數(shù)據(jù)資源(如普通文本文件、Excel、MicorsoftIndexServer等)所提供的各種數(shù)據(jù)進行讀取和寫入操作?! DO組件由七個對象和四個集合構(gòu)成其對象模型分為四級如所示。只包含了六個對象和三個集合,另外還有Properties集合和Property對象,他們是Connection對象、Command對象、Recordset對象和Field對象所共同具有的。 在ADO組件中,最主要的三個對象是Connection對象、Command對象、和Recordset對象。通過這三個對象,在ASP腳本中就可以與數(shù)據(jù)庫建立連接,查詢、插入、修改和刪除數(shù)據(jù)庫中的數(shù)據(jù)。 5.2與數(shù)據(jù)庫建立連接在進行數(shù)據(jù)庫訪問的時候,必須首先建立與數(shù)據(jù)庫的連接。在ASP頁面中使用ADO組件訪問數(shù)據(jù)庫的時候,有兩種訪問方式:ODBC和OLEDB?! DBC和OLEDB都是Microsoft公司提供的訪問數(shù)據(jù)庫的編程接口。ODBC是數(shù)據(jù)庫服務器的一個標準協(xié)議,它為訪問數(shù)據(jù)庫的應用程序提供了一種通用的語言。在安裝完ODBC驅(qū)動程序之后,就可以在應用程序中連接數(shù)據(jù)庫并訪問其中的數(shù)據(jù)。不過ODBC主要是針對訪問關系型數(shù)據(jù)庫而設計的,而作為新一代的Microsoft數(shù)據(jù)訪問規(guī)范,OLEDB允許訪問更多的數(shù)據(jù)源,除了一般的關系型數(shù)據(jù)庫之外,還包括非關系型數(shù)據(jù)庫、電子郵件系統(tǒng)、電子表格、文本文件等數(shù)據(jù)源?! LEDB能夠處理任何類型的數(shù)據(jù),而不考慮數(shù)據(jù)的存儲方法和格式。OLEDB與ODBC相比,還有一個明顯的優(yōu)越性―――基本上是OLE技術在數(shù)據(jù)庫中的運用,是用C++語言開發(fā)的,給ODBC功能提供了一個標準的COM接口,所以OLEDB具有面向?qū)ο蟮奶匦?,這樣在OLE DB基礎上的ADO具有很靈活的工作方式?! ∈褂肁DO訪問數(shù)據(jù)資源的方式可以用來說明。從圖中可以看出,ADO訪問數(shù)據(jù)庫時,并不是直接訪問數(shù)據(jù)資源,而是通過OLEDB作為中間件進行訪問。OLEDB驅(qū)動程序可以直接訪問數(shù)據(jù)資源,也可以通過ODBC間接訪問關系型數(shù)據(jù)庫。 本查詢系統(tǒng)是建立在MicrosoftSQLServer數(shù)據(jù)庫管理系統(tǒng)基礎之上的,因此可以通過OLEDB和ODBC兩種方式進行訪問。本文使用的是通過ODBC的無DSN連接。這種方法的好處是:Web站點從一臺電腦移植到另外一臺電腦的時候,不需要更改任何程序,也不需要另外建立ODBC驅(qū)動連接?! ?.3程序?qū)崿F(xiàn)建立好數(shù)據(jù)庫的連接之后,就要用SQL語句來對數(shù)據(jù)庫進行查詢操作了。數(shù)據(jù)庫連接和查詢程序框圖如所示。在上例中,查詢過程要分步進行,先判斷用戶的輸入是不是在可查的范圍內(nèi),然后根據(jù)查出孔距尺寸和材料厚度各自的返回值,最后根據(jù)表3以前一步的返回值作為條件再查極限偏差。查詢過程程序圖如圖6所示?! ?小結(jié)本文主要針對模具協(xié)同設計過程中需要反復進行設計資料查詢的問題,建立了一套基于Web的模具設計資料查詢系統(tǒng),并論述了SQLServer數(shù)據(jù)庫管理系統(tǒng)和ADO查詢機制。