汽車發(fā)動(dòng)機(jī)零件管理系統(tǒng)的開(kāi)發(fā)
汽車發(fā)動(dòng)機(jī)零件管理系統(tǒng)的開(kāi)發(fā),汽車發(fā)動(dòng)機(jī),零件,管理,系統(tǒng),開(kāi)發(fā)
黑龍江工程學(xué)院本科生畢業(yè)設(shè)計(jì) I 摘 要 在汽車發(fā)動(dòng)機(jī)研制過(guò)程中,由于其結(jié)構(gòu)復(fù)雜、參數(shù)眾多且在設(shè)計(jì)過(guò)程中需要處理 大量數(shù)據(jù)及文檔。這樣就會(huì)有大量的數(shù)據(jù)與信息交換共享,因此采用高效、快捷的數(shù) 據(jù)管理對(duì)發(fā)動(dòng)機(jī)設(shè)計(jì)具有重要意義。傳統(tǒng)的手工數(shù)據(jù)管理方式已經(jīng)愈來(lái)愈不能適應(yīng)現(xiàn) 代發(fā)動(dòng)機(jī)設(shè)計(jì)要求,采用數(shù)據(jù)庫(kù)技術(shù)可有效改善信息管理質(zhì)量,減少信息冗余,提高 信息共享。 本文詳細(xì)論述了一個(gè)發(fā)動(dòng)機(jī)零部件庫(kù)管理系統(tǒng)的開(kāi)發(fā)設(shè)計(jì)過(guò)程。系統(tǒng)采用 VC+ 6.0 作為開(kāi)發(fā)平臺(tái),SQL Server 2000 作數(shù)據(jù)庫(kù)管理系統(tǒng),實(shí)現(xiàn)了零部件增加、修改、 下載、刪除 、查詢等功能。 本文組織如下:首先闡述了該系統(tǒng)的開(kāi)發(fā)背景、意義;其次介紹了相關(guān)的開(kāi)發(fā)工 具及技術(shù)基礎(chǔ);接著對(duì)系統(tǒng)的需求進(jìn)行了分析,并提出了具體的設(shè)計(jì)方案和數(shù)據(jù)庫(kù)模 型;然后展現(xiàn)了整個(gè)系統(tǒng)的具體實(shí)現(xiàn),包括數(shù)據(jù)庫(kù)的設(shè)計(jì)和連接,各功能模塊的實(shí)現(xiàn)。 此系統(tǒng)為縮短發(fā)動(dòng)機(jī)的設(shè)計(jì)周期、降低發(fā)動(dòng)機(jī)的研制費(fèi)用、提高發(fā)動(dòng)機(jī)制造效率、 提高設(shè)計(jì)質(zhì)量和設(shè)計(jì)效率提供了一套有效的工具;提高發(fā)動(dòng)機(jī)設(shè)計(jì)單位的應(yīng)變能力; 為發(fā)動(dòng)機(jī)的改進(jìn)設(shè)計(jì)提供技術(shù)保障;為新一代發(fā)動(dòng)機(jī)的快速研制提供技術(shù)儲(chǔ)備。 關(guān)鍵詞:汽車發(fā)動(dòng)機(jī);零部件庫(kù);VC+;C/S 結(jié)構(gòu); SQL server 2000 黑龍江工程學(xué)院本科生畢業(yè)設(shè)計(jì) II ABSTRACT While the automobile engine manufactured, on account of the engine is so sophistic,parameters are so many and the process of design need to deal with numerous data and documents. There will be large quantity data and information exchanged, the traditional data management system is not suitable for the modem engine development, so the new data and information management system with high efficiency is significantIn this case, database technology is a better choice for the sake of improving management quality and efficiency It uses VC+ 6.0 as the development platform, SQL Server 2000 as the database management system, and includes the functions of automobile engine parts increased、modified、downloaded、deleted and queried, etc. This article is organized as following.Firstly, analyzes the background and significance; Secondly, introduces the development tools and the foundation of the technology; Thirdly, analyses the demand of the system, gives a specific design project and a database model; Then shows the implementation of the whole system, which includes the design and linkage of the database and the implementation of every module. The system provide an effective tool to shorting the cycle time of automobile engine design、 reducing engine development costs、improving the engine manufactured standards、improving the design quality and design efficiency; improve the resilience of an engine design organization; provide a technical support to improving the engine design; provide a technical reserves to developing the generation engine rapidly. Keywords: Automobile Engine; Parts Library; VC+; C/S Structure; SQL Server 2000 黑龍江工程學(xué)院本科生畢業(yè)設(shè)計(jì) 1 第 1 章 緒 論 1.1 選題的目的及意義 在汽車發(fā)動(dòng)機(jī)研制工作中,由于發(fā)動(dòng)機(jī)結(jié)構(gòu)復(fù)雜、參數(shù)眾多和在設(shè)計(jì)及裝配過(guò)程 中都需要處理大量數(shù)據(jù)及文檔。巨量的信息在設(shè)計(jì)部門、工藝部門、裝配部門、測(cè)試 部門、管理部門以及生產(chǎn)部門之間傳遞,而且一個(gè)新型號(hào)發(fā)動(dòng)機(jī)從設(shè)計(jì)到量產(chǎn)通常需 要多次的迭代反饋才能完成(如圖 1.1 所示) 。使用傳統(tǒng)的數(shù)據(jù)處理方式必然會(huì)導(dǎo)致 數(shù)據(jù)缺乏管理、使用效率低、信息冗余等問(wèn)題。采用計(jì)算機(jī)數(shù)據(jù)庫(kù)技術(shù)可有效利用數(shù) 據(jù)庫(kù)強(qiáng)大的數(shù)據(jù)處理功能,統(tǒng)一管理設(shè)計(jì)、實(shí)驗(yàn)及裝配過(guò)程中產(chǎn)生的各種數(shù)據(jù),在不 同的應(yīng)用中共享數(shù)據(jù)庫(kù)中的各種資源,減少信息冗余 1。 設(shè)計(jì) 工藝 測(cè)試 裝配 量產(chǎn) 圖 1.1 發(fā)動(dòng)機(jī)設(shè)計(jì)到量產(chǎn)界面 汽車發(fā)動(dòng)機(jī)從開(kāi)始研發(fā)到大量生產(chǎn)需要經(jīng)過(guò)一個(gè)漫長(zhǎng)的周期,設(shè)計(jì)人員經(jīng)常需要 使用其它產(chǎn)品的標(biāo)準(zhǔn)零部件或通用的零部件。但目前這些零部件都分散在設(shè)計(jì)人員的 機(jī)器中,由個(gè)人進(jìn)行維護(hù)和管理,存在著缺少相關(guān)描述性信息、使用和查詢不方便等 缺點(diǎn)。采用傳統(tǒng)的信息管理方式將無(wú)法適應(yīng)新情況下的需求,因此,只有充分利用數(shù) 據(jù)庫(kù)系統(tǒng)強(qiáng)大的數(shù)據(jù)處理功能,建立一個(gè)汽車發(fā)動(dòng)機(jī)零部件數(shù)據(jù)庫(kù),將這些的零部件 集中管理,共享發(fā)動(dòng)機(jī)設(shè)計(jì)及各種文檔信息,才能從根本上解決發(fā)動(dòng)機(jī)設(shè)計(jì)、論證周 期長(zhǎng)、效率低的問(wèn)題。該零部件庫(kù)的建立可以提高發(fā)動(dòng)機(jī)設(shè)計(jì)單位的應(yīng)變能力,降低 發(fā)動(dòng)機(jī)的研制費(fèi)用,提高發(fā)動(dòng)機(jī)制造效率,為發(fā)動(dòng)機(jī)的改進(jìn)設(shè)計(jì)提供技術(shù)保障,為新 一代發(fā)動(dòng)機(jī)的快速研制提供技術(shù)儲(chǔ)備。 在發(fā)動(dòng)機(jī)設(shè)計(jì)過(guò)程中使用數(shù)據(jù)庫(kù)技術(shù)具有如下重要性與意義 2: (1)改善管理手段。使用發(fā)動(dòng)機(jī)數(shù)據(jù)庫(kù)技術(shù)可以將分布于各個(gè)部門的紙介質(zhì)圖 樣和技術(shù)文檔轉(zhuǎn)化為數(shù)字化信息,統(tǒng)一管理。 黑龍江工程學(xué)院本科生畢業(yè)設(shè)計(jì) 2 (2)提高產(chǎn)品裝配質(zhì)量,最大限度消除人為因素的影響。采用統(tǒng)一的發(fā)動(dòng)機(jī)數(shù) 據(jù)庫(kù)管理模式,將設(shè)計(jì)資料、工藝信息、制造資源與實(shí)驗(yàn)數(shù)據(jù)建立在同一個(gè)數(shù)據(jù)庫(kù)中, 可以由系統(tǒng)來(lái)保證數(shù)據(jù)的一致性和正確性。 (3)優(yōu)化流程,降低成本。設(shè)計(jì)文檔與測(cè)試數(shù)據(jù)的網(wǎng)上交換,可以省去大量資 料分發(fā)與傳遞的時(shí)間,大大減少管理與工程人員的工作。 (4)提高工作效率和勞動(dòng)生產(chǎn)率。采用數(shù)據(jù)庫(kù)協(xié)同設(shè)計(jì)裝配測(cè)試技術(shù),可 以提高信息發(fā)放接收和更改的效率:協(xié)同個(gè)各部門工作,改進(jìn)工藝設(shè)計(jì)方式和資源 的再利用方式,提高員工勞動(dòng)生產(chǎn)率。 (5)縮短設(shè)計(jì)周期。采用數(shù)據(jù)庫(kù)交換信息,輔助發(fā)動(dòng)機(jī)設(shè)計(jì)、裝配,統(tǒng)一管理 測(cè)試與實(shí)驗(yàn)數(shù)據(jù)能大大節(jié)約各項(xiàng)活動(dòng)的時(shí)間,最終縮短發(fā)動(dòng)機(jī)設(shè)計(jì)周期。 總之,汽車發(fā)動(dòng)機(jī)零部件庫(kù)的建立可以為發(fā)動(dòng)機(jī)的總體布局、部位安排設(shè)計(jì)、數(shù) 字預(yù)裝配等研制工作提供必要的底層支持;可以與設(shè)計(jì)環(huán)境實(shí)現(xiàn)無(wú)縫集成,使用方便 快捷;減少了工程設(shè)計(jì)人員的工作量,避免了重復(fù)性勞動(dòng),提高了設(shè)計(jì)質(zhì)量和設(shè)計(jì)效 率,大大縮短了設(shè)計(jì)周期;實(shí)現(xiàn)標(biāo)準(zhǔn)件設(shè)計(jì)過(guò)程的自動(dòng)化,有效提高產(chǎn)品設(shè)計(jì)效率和 質(zhì)量等。另外通過(guò)汽車發(fā)動(dòng)機(jī)零部件庫(kù)的建立,可以實(shí)現(xiàn)設(shè)計(jì)資源的共享。 該發(fā)動(dòng)機(jī)零部件庫(kù)管理系統(tǒng)必須具備以下功能: (1)用戶可方便瀏覽管理系統(tǒng)中的零部件信息。 (2)對(duì)零部件進(jìn)行分類管理。 (3)根據(jù)用戶權(quán)限可對(duì)庫(kù)中零部件進(jìn)行使用及維護(hù)。如增加、刪除、查詢、下 載等。 (4)管理員可以增加、修改、刪除用戶。 這樣不僅能較好的幫助用戶在最短的時(shí)間內(nèi)找到自己所需的零部件,而且能讓用 戶以最高的效率進(jìn)行發(fā)動(dòng)機(jī)研發(fā),提高發(fā)動(dòng)機(jī)制造效率。 1.2 國(guó)內(nèi)外研究現(xiàn)狀 由于計(jì)算機(jī)技術(shù)的飛速發(fā)展、CAD 技術(shù)和標(biāo)準(zhǔn)化技術(shù)的廣泛應(yīng)用,國(guó)外一直很 重視對(duì)零部件庫(kù)技術(shù)的研究。在美國(guó)及其他發(fā)動(dòng)機(jī)制造技術(shù)比較發(fā)達(dá)的國(guó)家也均先后 成立研究機(jī)構(gòu),進(jìn)行相關(guān)技術(shù)研究,并取得了一定范圍的應(yīng)用成功 3。國(guó)外對(duì)標(biāo)準(zhǔn)件 庫(kù)系統(tǒng)的研究和開(kāi)發(fā)可追溯到早期的二維 CAD 平臺(tái)的標(biāo)準(zhǔn)件庫(kù)系統(tǒng),如基于 Auto- CAD 平臺(tái)的標(biāo)準(zhǔn)件庫(kù)系統(tǒng) 4。早在 1971 年,德國(guó)標(biāo)準(zhǔn)化協(xié)會(huì) (DIN)制定發(fā)布了標(biāo)準(zhǔn)件 和通用件的 DIN4000 標(biāo)準(zhǔn),并逐漸得到了多個(gè)國(guó)家的采用 5。ISO/TC184 技術(shù)委員會(huì) 在 DIN4000 的基礎(chǔ)上,制定了一個(gè)關(guān)于計(jì)算機(jī)可解釋的零件庫(kù)數(shù)據(jù)表達(dá)和交換的國(guó) 際標(biāo)準(zhǔn)IS013584,為基于 Web 的零件庫(kù)建立與應(yīng)用提供了必要條件 6。隨著網(wǎng)絡(luò)技 黑龍江工程學(xué)院本科生畢業(yè)設(shè)計(jì) 3 術(shù)的發(fā)展,許多國(guó)家紛紛開(kāi)展網(wǎng)絡(luò)環(huán)境下零件庫(kù)的研究工作,如歐共體的 CIREP 項(xiàng) 目 7、美國(guó)的 ECCI 項(xiàng)目 8、日本的 JEMIMA 項(xiàng)目 9等。國(guó)際標(biāo)準(zhǔn)化組織 ISO/TC184/SC4 也成立了 WG2 工作組,制訂和完善零件庫(kù)的國(guó)際標(biāo)準(zhǔn) ISO135845。 國(guó)外對(duì)基于 Web 的零件庫(kù)的研究相當(dāng)成熟,已有多家極具規(guī)模的零件庫(kù) 10,11,如 TracePart、3D ContentCentral、WebScope、CoCreate、CADClick 等。其中,TracePart 的前身為 Web2CAD,有超過(guò) 90 多家世界主要的零件制造商加盟(如 BOSCH、SIEMENS 等),號(hào)稱目前世界第一大零件庫(kù);3D ContentCentral 是由美國(guó) Solidworks 公司推出,提供直接下載三維實(shí)體模型功能,同時(shí)還為全球的機(jī)械工程師 提供實(shí)時(shí)更新的模型零件庫(kù),便于設(shè)計(jì)時(shí)的共享;WebScope 實(shí)現(xiàn)在線聊天,2D 文本 和圖像注釋,3D 注釋,視圖旋轉(zhuǎn)、平移、放大、精確測(cè)量、加亮隱藏指定模型特征 和交叉視圖等。 國(guó)內(nèi)對(duì)零部件庫(kù)的研究起步稍晚于國(guó)外,但是對(duì)這方面的研究也越來(lái)越重視,并 取得了很多的成果。在理論研究方面,中國(guó)礦業(yè)大學(xué)的張宏林等對(duì)建立基于 Internet 的符合國(guó)際標(biāo)準(zhǔn)(IS013584)的零件庫(kù)總體開(kāi)發(fā)方案進(jìn)行了探討 12;中科院軟件研究所 研究了基于 Internet/Intranet 零件庫(kù)資源共享技術(shù);上海交大的楊東,張申生等探討了 零件庫(kù)的零件表達(dá)方法、體系結(jié)構(gòu)和實(shí)現(xiàn)方案等 13,14。 目前,隨著工程CAD軟件如 AutoCAD,Pro/ENGINEER ,UG,CATIA,SolidWorks等在國(guó)內(nèi)的普遍使用,許多研 究單位和部門都在這些CAD軟件平臺(tái)上利用其對(duì)外提供的二次開(kāi)發(fā)接口進(jìn)行了基于 這些軟件的標(biāo)準(zhǔn)件庫(kù)的開(kāi)發(fā),以彌補(bǔ)這些軟件本身不包含標(biāo)準(zhǔn)件庫(kù),或庫(kù)中包含的標(biāo) 準(zhǔn)件種類及數(shù)量有限,不能滿足工程設(shè)計(jì)人員的需求的缺點(diǎn)。例如華中理工大學(xué)的華 中軟件公司開(kāi)發(fā)出了基于SolidEdge的三維標(biāo)準(zhǔn)件庫(kù) Inte3Dlib,能快速生成三維常用標(biāo) 準(zhǔn)件和通用件,具有良好的用戶界面及交互性能,具有建庫(kù)、擴(kuò)充標(biāo)準(zhǔn)件庫(kù)的能力 15; 華中科技大學(xué)開(kāi)發(fā)了用于齒輪CAD系統(tǒng)設(shè)計(jì)的標(biāo)準(zhǔn)零件庫(kù)。該標(biāo)準(zhǔn)零件庫(kù)包含了齒 輪傳動(dòng)設(shè)計(jì)時(shí)所用的各種零部件,在用戶輸入必要的功能參數(shù)后,該CAD軟件根據(jù) 優(yōu)化設(shè)計(jì)理論能自動(dòng)生成符合設(shè)計(jì)要求的齒輪傳動(dòng)系統(tǒng),包括裝配圖和零部件圖;南 航CAD 中心所開(kāi)發(fā)的標(biāo)準(zhǔn)件庫(kù),分為系統(tǒng)數(shù)據(jù)總庫(kù)、臨時(shí)文件庫(kù)和用戶數(shù)據(jù)庫(kù)。允 許用戶建立自己的常用零件庫(kù)并對(duì)該零件庫(kù)的記錄進(jìn)行刪除、插入、增加等操作。用 戶零件庫(kù)中的零件記錄均來(lái)自系統(tǒng)數(shù)據(jù)總庫(kù),總庫(kù)中的記錄不能進(jìn)行任何更改;北京 斯泰普產(chǎn)品數(shù)據(jù)技術(shù)中心開(kāi)發(fā)的基于AutoCAD平臺(tái)的標(biāo)準(zhǔn)零件庫(kù);西北工業(yè)大學(xué)開(kāi) 發(fā)了龍騰實(shí)用化三維標(biāo)準(zhǔn)件庫(kù)系統(tǒng)和CATIA下的標(biāo)準(zhǔn)件庫(kù);還有東北大學(xué)歐磊公司在 SolidEdge上用自動(dòng)化接口開(kāi)發(fā)了標(biāo)準(zhǔn)件庫(kù);哈爾濱工業(yè)大學(xué)現(xiàn)代生產(chǎn)技術(shù)中心開(kāi)發(fā) 黑龍江工程學(xué)院本科生畢業(yè)設(shè)計(jì) 4 的基于UG二次開(kāi)發(fā)的導(dǎo)彈電纜標(biāo)準(zhǔn)件庫(kù)系統(tǒng)等等。 隨著計(jì)算機(jī)信息技術(shù)、網(wǎng)絡(luò)技術(shù)的發(fā)展,適應(yīng)產(chǎn)品設(shè)計(jì)制造全球化、網(wǎng)絡(luò)化的趨 勢(shì),國(guó)內(nèi)科研單位、企業(yè)也紛紛研制推出網(wǎng)絡(luò)化的零件庫(kù)系統(tǒng)。單鴻波等人提出了基 于Web的面向裝配的設(shè)計(jì)系統(tǒng)集成框架,采用 Java和Web技術(shù)建立了基于網(wǎng)絡(luò)的 WebDFA原型系統(tǒng) 16;同濟(jì)大學(xué)CAD 研究中心推出了基于 Web的參數(shù)化跨平臺(tái)零件庫(kù) 系統(tǒng),該系統(tǒng)具有良好的可擴(kuò)展性,使設(shè)計(jì)人員從一些繁瑣的繪圖中解脫出來(lái),提高 產(chǎn)品的設(shè)計(jì)效率并降低設(shè)計(jì)的成本 17;西北工業(yè)大學(xué)開(kāi)發(fā)了基于B/S模式的飛機(jī)工裝 零件庫(kù)系統(tǒng),實(shí)現(xiàn)了工裝常用零件的遠(yuǎn)程調(diào)用和資源共享 18。 目前國(guó)內(nèi)有不少企業(yè)在網(wǎng)絡(luò)上發(fā)布自己的零件庫(kù),例如中國(guó)機(jī)械網(wǎng)(www.china- )提供了在線 3D標(biāo)準(zhǔn)件零件庫(kù),可以通過(guò)網(wǎng)絡(luò)瀏覽三維零件圖并查看尺 寸;杭州新迪數(shù)字工程系統(tǒng)有限公司發(fā)布了基于SolidWorks 的新迪3D零件庫(kù) ( ) ,收錄了最新國(guó)家標(biāo)準(zhǔn)的各類GB 標(biāo)準(zhǔn)件,包括:螺釘、螺母、螺柱 和螺栓、墊圈和擋圈、銷和鍵、鉚釘和焊釘、結(jié)構(gòu)件、軸承、密封件等九大類標(biāo)準(zhǔn)件; 三維設(shè)計(jì)資源在線( )提供國(guó)家現(xiàn)有的各類標(biāo)準(zhǔn)件和行業(yè)常用件, 可以動(dòng)態(tài)配置、預(yù)覽和下載三維產(chǎn)品模型,并提供了 SolidWorks、Parasolid、ACIS、STEP、IGES 、 Pro/E等多種文件格式,直接融入到 設(shè)計(jì)者的設(shè)計(jì)中。 隨著汽車制造業(yè)對(duì)產(chǎn)品知識(shí)數(shù)據(jù)庫(kù)系統(tǒng)需求的不斷升級(jí),已有很多公司開(kāi)始著力 為汽車制造商提供知識(shí)庫(kù)框架系統(tǒng)。發(fā)動(dòng)機(jī)零件庫(kù)的開(kāi)發(fā)和應(yīng)用對(duì)提高產(chǎn)品的設(shè)計(jì)效 率起著相當(dāng)重要的作用。據(jù)統(tǒng)計(jì),在一個(gè)產(chǎn)品開(kāi)發(fā)過(guò)程中,諸如標(biāo)準(zhǔn)件(包括自制零 件、外購(gòu)件等) 的使用率占到零件總數(shù)量的 60以上。標(biāo)準(zhǔn)件建庫(kù)工作開(kāi)展較早,取 得了不少成果。目前許多 CAD 軟件都開(kāi)發(fā)了有各自的標(biāo)準(zhǔn)件庫(kù),如在 CADDS5、CATIA、Cimatmn、MDT、AutoCAD、 ProE 、UGII 、Ideas 、SolidWorks 、solidEdge 等國(guó)外中高檔 CAD 系統(tǒng)上開(kāi)發(fā)了標(biāo)準(zhǔn)件庫(kù);另外一些國(guó)產(chǎn) CAD 系統(tǒng)如 CAD-Tool19、InteCAD 等也配備了常用標(biāo)準(zhǔn)件庫(kù),甚至出現(xiàn)了基于 web 的標(biāo)準(zhǔn)件庫(kù) 系統(tǒng)。然而,這些標(biāo)準(zhǔn)件庫(kù)系統(tǒng)的共同的缺點(diǎn)是:可移植性和軟件復(fù)用性差 20。 隨著電子商務(wù)技術(shù)的發(fā)展,以及應(yīng)用服務(wù)提供商(Application Server Provider) 這一概念漸漸引入我國(guó),零件庫(kù)和電子商務(wù)技術(shù)以及應(yīng)用服務(wù)提供商技術(shù)相結(jié)合,使 得零件庫(kù)資源得以實(shí)現(xiàn)更加廣泛的共享。因此國(guó)內(nèi)有人提出建立基于Internet的全國(guó) 范圍的零件庫(kù)系統(tǒng),這還需要在實(shí)現(xiàn)技術(shù)上做進(jìn)一步的研究。 1.3 相關(guān)領(lǐng)域已有的研究成果 國(guó)際著名汽車企業(yè)的實(shí)踐證明:只有以數(shù)字化技術(shù)為開(kāi)發(fā)平臺(tái),利用成功產(chǎn)品的 黑龍江工程學(xué)院本科生畢業(yè)設(shè)計(jì) 5 開(kāi)發(fā)數(shù)據(jù),在成功經(jīng)驗(yàn)知識(shí)的指導(dǎo)下,才能實(shí)現(xiàn)真正意義上的快速、經(jīng)濟(jì)和成功的開(kāi) 發(fā)。各類機(jī)電產(chǎn)品行業(yè)為提高其市場(chǎng)競(jìng)爭(zhēng)力以及提高其設(shè)計(jì)生產(chǎn)效率,都在開(kāi)發(fā)或利 用一些標(biāo)準(zhǔn)件庫(kù)來(lái)輔助設(shè)計(jì)。國(guó)內(nèi)也有不少學(xué)者進(jìn)行了標(biāo)準(zhǔn)件庫(kù)開(kāi)發(fā)的研究,研究成 果也比較豐碩。舉例說(shuō)明如下: (1)莫蓉研究的滿足裝配建模的標(biāo)準(zhǔn)件庫(kù)的設(shè)計(jì)與實(shí)現(xiàn)是針對(duì)產(chǎn)品的工裝夾具 設(shè)計(jì)中標(biāo)準(zhǔn)件庫(kù)的建庫(kù)問(wèn)題,且詳細(xì)地分析滿足裝配模型對(duì)標(biāo)準(zhǔn)件信息的需求,提出 了一個(gè)以三維參數(shù)化為基礎(chǔ)的標(biāo)準(zhǔn)件建庫(kù)方案。裝配建模對(duì)標(biāo)準(zhǔn)件所需信息可以直接 通過(guò)數(shù)據(jù)庫(kù)查詢得到,提高了明細(xì)表生成的自動(dòng)化程度。此文提出的建庫(kù)方法具有通 用性,不同行業(yè)可針對(duì)自己的標(biāo)準(zhǔn)件范圍與類型設(shè)計(jì)自己的標(biāo)準(zhǔn)件庫(kù),非常方便 21。 (2)由于干式變壓器在各方面的優(yōu)良性能以及特種場(chǎng)合下對(duì)干式變壓器的應(yīng)用 需求,它的市場(chǎng)前景十分樂(lè)觀廣闊。隨著國(guó)內(nèi)干式變壓器廠家的生產(chǎn)能力不斷提高, 市場(chǎng)競(jìng)爭(zhēng)也異常的激烈。加之同一電壓級(jí)的同容量段的變壓器各部分設(shè)計(jì)結(jié)構(gòu)特征相 似或相近,通用件、相似件的比例相當(dāng)高,工程設(shè)計(jì)人員在設(shè)計(jì)時(shí)有很多相同的地方。 所以戴永斌、林鶴云、徐子宏、宋宇等人開(kāi)發(fā)了基于 UG 二次開(kāi)發(fā)技術(shù)的干式變壓器 標(biāo)準(zhǔn)件庫(kù),對(duì)提高設(shè)計(jì)員的設(shè)計(jì)效率,縮短產(chǎn)品開(kāi)發(fā)周期,提高企業(yè)的競(jìng)爭(zhēng)能力起了 很大作用 22。 (3)萬(wàn)久團(tuán)、黃翔建立的基于 UG 的三維參數(shù)化標(biāo)準(zhǔn)件庫(kù)覆蓋面廣而且采用新 標(biāo)準(zhǔn)。其中包括了緊固件、定位元件、夾緊元件、導(dǎo)向元件、機(jī)床連接和輔助元件。 通過(guò)對(duì)這些零件建模,便形成了零件種類較多、規(guī)格較全的參數(shù)化標(biāo)準(zhǔn)件庫(kù)對(duì)提高設(shè) 計(jì)效率有很大的提高 23。 (4)錢玲玲、李建軍、王義林、葉曉峰等的標(biāo)準(zhǔn)件庫(kù)管理系統(tǒng)中的知識(shí)重用技 術(shù)研究實(shí)現(xiàn)了流程重用、裝配關(guān)系重用、零部件重用以及特征重用,利用已有資源, 花費(fèi)較少的時(shí)間完成產(chǎn)品設(shè)計(jì),標(biāo)準(zhǔn)件設(shè)計(jì)的自動(dòng)化,提高了設(shè)計(jì)效率 24。 1.4 設(shè)計(jì)目標(biāo) 構(gòu)建一個(gè)基于客戶機(jī)/服務(wù)器結(jié)構(gòu)的汽車發(fā)動(dòng)機(jī)零部件庫(kù)管理系統(tǒng),要求該系統(tǒng) 能對(duì)登錄后的用戶實(shí)行權(quán)限管理。在系統(tǒng)啟動(dòng)后,普通用戶能在客戶端根據(jù)自己的需 要查詢、下載零部件,管理員具有下載、增加、修改、查詢、刪除零部件和人員管理 的權(quán)限。 黑龍江工程學(xué)院本科生畢業(yè)設(shè)計(jì) 6 1.5 系統(tǒng)設(shè)計(jì)原則 1.5.1 實(shí)用性原則 適用于中小型企業(yè)發(fā)動(dòng)機(jī)零部件管理,用戶界面友好,操作方便,具有高效的數(shù) 據(jù)處理能力。 1.5.2 可靠性及可擴(kuò)展性原則 系統(tǒng)具有較高的可靠性,能保證系統(tǒng)的正常運(yùn)作,系統(tǒng)還有待升級(jí),保證了系統(tǒng) 的可擴(kuò)展性。 1.5.3 兼容性原則 對(duì)于所選軟硬件系統(tǒng)及平臺(tái),能很好地適應(yīng)開(kāi)發(fā)和使用的需要。 1.5.4 規(guī)范性原則 軟件設(shè)計(jì)過(guò)程嚴(yán)格按照“ 軟件工程 ”的規(guī)定,系統(tǒng)編碼、文檔、操作系統(tǒng)平臺(tái)以及 開(kāi)發(fā)方法采用相應(yīng)的國(guó)際標(biāo)準(zhǔn)、國(guó)家標(biāo)準(zhǔn)和行業(yè)標(biāo)準(zhǔn)。 1.6 設(shè)計(jì)內(nèi)容 隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,網(wǎng)絡(luò)技術(shù)為資源管理提供一種非常好的解決方案。用戶不 僅可以利用本機(jī)資源,還可以通過(guò)網(wǎng)絡(luò)共享他人資源。本課題致力于開(kāi)發(fā)基于 C/S 網(wǎng) 絡(luò)模式的汽車發(fā)動(dòng)機(jī)零部件庫(kù)管理系統(tǒng),重點(diǎn)討論系統(tǒng)的設(shè)計(jì)開(kāi)發(fā)過(guò)程及關(guān)鍵技術(shù)的 實(shí)現(xiàn)。課題主要內(nèi)容如下: 1.6.1 需求確定 一個(gè)簡(jiǎn)單的發(fā)動(dòng)機(jī)零部件庫(kù)管理系統(tǒng),主要包括登錄用戶對(duì)話框、發(fā)動(dòng)機(jī)零部件 信息界面和零部件的下載、刪除、增加、修改等幾方面的功能。用戶通過(guò)身份驗(yàn)證進(jìn) 入零件管理系統(tǒng)。用戶分為普通用戶和管理員,普通用戶只有下載、修改用戶密碼、 修改用戶密碼、查詢零部件和報(bào)表輸出的權(quán)限,管理員具有下載零部件、修改用戶密 碼、增加零部件、修改零部件、刪除零部件、查詢零部件、修改用戶密碼、報(bào)表輸出 和人員管理的權(quán)限。通過(guò)這種權(quán)限的劃分可以避免數(shù)據(jù)庫(kù)系統(tǒng)管理混亂。增加新零部 件功能:用戶可以上傳新設(shè)計(jì)的零部件到零部件庫(kù)系統(tǒng)中,不僅錄入零部件的非幾何 信息(包括零部件名稱、類型、質(zhì)量等)還要錄入零部件的幾何信息(包括零件的三 維模型、CAD 圖紙、二維簡(jiǎn)圖) 。 1.6.2 總體設(shè)計(jì) 總體設(shè)計(jì)階段即系統(tǒng)的概要設(shè)計(jì),需要完成對(duì)系統(tǒng)結(jié)構(gòu)的分析和設(shè)計(jì),以及設(shè)計(jì) 系統(tǒng)需要的主要數(shù)據(jù)結(jié)構(gòu)。在基于需求分析的結(jié)果上給出簡(jiǎn)單發(fā)動(dòng)機(jī)零部件庫(kù)管理系 統(tǒng)的總體結(jié)構(gòu)。 黑龍江工程學(xué)院本科生畢業(yè)設(shè)計(jì) 7 1.6.3 數(shù)據(jù)庫(kù)構(gòu)建 數(shù)據(jù)庫(kù)設(shè)計(jì)(Database Design)是指對(duì)于一個(gè)給定的應(yīng)用環(huán)境,構(gòu)造最優(yōu)的數(shù)據(jù) 庫(kù)模式,建立數(shù)據(jù)庫(kù),使之能夠有效地存儲(chǔ)數(shù)據(jù),滿足各種用戶的應(yīng)用需求的過(guò)程。 1.6.4 程序開(kāi)發(fā) 利用 VC+開(kāi)發(fā)汽車零部件庫(kù)管理系統(tǒng)。 黑龍江工程學(xué)院本科生畢業(yè)設(shè)計(jì) 8 第 2 章 系統(tǒng)總體方案設(shè)計(jì) 前端客戶機(jī)運(yùn)行數(shù)據(jù)庫(kù)應(yīng)用程序(稱為前端系統(tǒng)) ,處理有關(guān)屏幕顯示和用戶輸 入輸出的用戶請(qǐng)求,并向數(shù)據(jù)庫(kù)服務(wù)器提出請(qǐng)求(如SQL ,Structured Query Language) ,對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作,通常是一個(gè) PC機(jī)。后端服務(wù)器接受客戶機(jī)的請(qǐng)求, 執(zhí)行SQL 查詢、對(duì)有關(guān)的數(shù)據(jù)文件進(jìn)行處理并將數(shù)據(jù)提交給客戶機(jī),客戶機(jī)將數(shù)據(jù)進(jìn) 行計(jì)算并將結(jié)果呈現(xiàn)給用戶。同時(shí),服務(wù)器還提供完善的安全保護(hù)及對(duì)數(shù)據(jù)的完整性 處理等操作,并允許多個(gè)客戶同時(shí)訪問(wèn)同一個(gè)數(shù)據(jù)庫(kù)。 2.1 汽車零部件庫(kù)系統(tǒng)相關(guān)技術(shù) 2.1.1 基于 Pro/E 三維建模技術(shù) 1、Pro/E 簡(jiǎn)介 1985年,PTC 公司成立于美國(guó)波士頓,開(kāi)始參數(shù)化建模軟件的研究。1988年,V1.0 的Pro/ENGINEER誕生了。經(jīng)過(guò)10余年的發(fā)展,Pro/ENGINEER已經(jīng)成為三維建模軟 件的領(lǐng)頭羊。目前已經(jīng)發(fā)布了Pro/ENGINEER proewildfire5.0。PTC的系列軟件包括了 在工業(yè)設(shè)計(jì)和機(jī)械設(shè)計(jì)等方面的多項(xiàng)功能,還包括對(duì)大型裝配體的管理、功能仿真、 制造、產(chǎn)品數(shù)據(jù)管理等等。Pro/ENGINEER還提供了目前所能達(dá)到的最全面、集成最 緊密的產(chǎn)品開(kāi)發(fā)環(huán)境。其主要特性有全相關(guān)性、基于特征的參數(shù)化造型、數(shù)據(jù)管理、 裝配管理、易于使用。 數(shù)據(jù)表 數(shù)據(jù)處理邏輯 瀏覽器 顯示邏輯 請(qǐng)求 響應(yīng) S Q L 請(qǐng)求處理 客戶端 數(shù)據(jù)庫(kù)服務(wù)器 發(fā)動(dòng)機(jī) 零部件管理系統(tǒng) 圖2.2 發(fā)動(dòng)機(jī)零部件庫(kù)管理系統(tǒng)軟件結(jié)構(gòu) 黑龍江工程學(xué)院本科生畢業(yè)設(shè)計(jì) 9 局域網(wǎng) 汽服訪問(wèn)客戶端 車輛訪問(wèn) 客戶端 交運(yùn)訪問(wèn)客戶端 物流訪問(wèn) 客戶端 圖2.3 發(fā)動(dòng)機(jī)零部件庫(kù)管理系統(tǒng)的拓?fù)浣Y(jié)構(gòu) 2、Pro/E 建模技術(shù)舉例說(shuō)明 本文給出幾個(gè)有代表性的發(fā)動(dòng)機(jī)零件的示意圖,如圖 2.4、圖 2.5、圖 2.6,圖 2.7 為發(fā)動(dòng)機(jī)裝配體的 Proe/E 裝配體模型。 圖 2.4 發(fā)動(dòng)機(jī)汽缸體 黑龍江工程學(xué)院本科生畢業(yè)設(shè)計(jì) 10 圖 2.5 六角螺母 圖 2.6 發(fā)動(dòng)機(jī)曲軸 黑龍江工程學(xué)院本科生畢業(yè)設(shè)計(jì) 11 圖 2.7 發(fā)動(dòng)機(jī)總裝圖 2.1.2 基于 SQL Server 2000 的數(shù)據(jù)庫(kù) 1、SQL 語(yǔ)言簡(jiǎn)介 SQL(Structured Query Language)結(jié)構(gòu)化查詢語(yǔ)言,是一種數(shù)據(jù)庫(kù)查詢和程序設(shè)計(jì) 語(yǔ)言,用于存取數(shù)據(jù)以及查詢、更新和管理關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)。同時(shí)也是數(shù)據(jù)庫(kù)腳本文 件的擴(kuò)展名。美國(guó)國(guó)家標(biāo)準(zhǔn)局(ANSI)與國(guó)際標(biāo)準(zhǔn)化組織( ISO)已經(jīng)制定了 SQL 標(biāo)準(zhǔn) ANSI 聲稱,SQL 是關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)的標(biāo)準(zhǔn)語(yǔ)言。SQL 語(yǔ)句通常完成一些數(shù)據(jù)庫(kù) 的操作任務(wù),比如在數(shù)據(jù)庫(kù)中更新數(shù)據(jù),或者從數(shù)據(jù)庫(kù)中檢索數(shù)據(jù)。使用 SQL 的常 見(jiàn)關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)有:Oracle、Sybase 、Microsoft SQL Server、Access 、Ingres 等 等。雖然絕大多數(shù)的數(shù)據(jù)庫(kù)系統(tǒng)使用 SQL,但是它們同樣有有別于其他的用于它們 的系統(tǒng)的專有擴(kuò)展功能。但是,標(biāo)準(zhǔn)的 SQL 命令,比如 “SELECT”、 “UPDATE”、 “DELETE”、 “INSERT”、 “WHERE”、 “Create”和“Drop” 常常被用于完成絕大多數(shù)數(shù)據(jù)庫(kù) 的操作。SQL 功能強(qiáng)大,是一種完備的數(shù)據(jù)處理語(yǔ)言 ,不僅用于數(shù)據(jù)庫(kù)查詢,而且 用于數(shù)據(jù)庫(kù)中的數(shù)據(jù)修改和更新,概括起來(lái)可以分成以下幾組: (1)數(shù)據(jù)定義語(yǔ)言(DDL) ,例如:CREATE 、DROP、ALTER 等語(yǔ)句。 (2)數(shù)據(jù)查詢語(yǔ)言(DQL) ,例如:SELECT 語(yǔ)句。 (3)數(shù)據(jù)控制語(yǔ)言(DCL),例如: GRANT、REVOKE、COMMIT、ROLLBACK 等語(yǔ)句。 黑龍江工程學(xué)院本科生畢業(yè)設(shè)計(jì) 12 (4)數(shù)據(jù)操作語(yǔ)言(DML),例如:INSERT(插入,用于增加數(shù)據(jù)到數(shù)據(jù)庫(kù)) 、 UPDATE(修改,用于從數(shù)據(jù)庫(kù)中修改現(xiàn)存的數(shù)據(jù)) 、DELETE(刪除,用于從數(shù)據(jù) 庫(kù)中刪除數(shù)據(jù)) 、SELECT(檢索,用于檢索數(shù)據(jù))語(yǔ)句。 SQL 語(yǔ)言包括三種主要程序設(shè)計(jì)語(yǔ)言類別的語(yǔ)句:數(shù)據(jù)定義語(yǔ)言(DDL),數(shù)據(jù)操 作語(yǔ)言(DML) 及數(shù)據(jù)控制語(yǔ)言 (DCL)。 2、SQL Server 2000 數(shù)據(jù)庫(kù) SQL Server 是一個(gè)關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng),是 Microsoft 推出新一代數(shù)據(jù)管理與分 析軟件。SQL Server 2000 是一個(gè)全面的、集成的、端到端的數(shù)據(jù)解決方案,它為企 業(yè)中的用戶提供了一個(gè)安全、可靠和高效的平臺(tái)用于企業(yè)數(shù)據(jù)管理和商業(yè)智能應(yīng)用。 SQL Server 2000 為 IT 專家和信息工作者帶來(lái)了強(qiáng)大的、熟悉的工具,同時(shí)減少了在 從移動(dòng)設(shè)備到企業(yè)數(shù)據(jù)系統(tǒng)的多平臺(tái)上創(chuàng)建、部署、管理及使用企業(yè)數(shù)據(jù)和分析應(yīng)用 程序的復(fù)雜度。通過(guò)全面的功能集、和現(xiàn)有系統(tǒng)的集成性、以及對(duì)日常任務(wù)的自動(dòng)化 管理能力,SQL Server 2000 為不同規(guī)模的企業(yè)提供了一個(gè)完整的數(shù)據(jù)解決方案。 SQL Server 2000 數(shù)據(jù)平臺(tái)包括如下工具:關(guān)系型數(shù)據(jù)庫(kù)、復(fù)制服務(wù)、通知服務(wù)、 集成服務(wù)、分析服務(wù)、報(bào)表服務(wù)、管理工具、開(kāi)發(fā)工具。 SQL Server 2000 數(shù)據(jù)平臺(tái)為不同規(guī)模的組織提供了如下好處:充分利用數(shù)據(jù)資 產(chǎn)、提高生產(chǎn)力、減少 IT 復(fù)雜度、更低的總體擁有成本(TCO)。本數(shù)據(jù)庫(kù)采用 SQL Server 2000 的企業(yè)管理器建立。 2.1.3 基于 VC+的數(shù)據(jù)庫(kù)訪問(wèn)技術(shù) 用 VC+開(kāi)發(fā)的發(fā)動(dòng)機(jī)零部件庫(kù)管理系統(tǒng),要使用數(shù)據(jù)庫(kù)對(duì)所需的數(shù)據(jù)進(jìn)行存儲(chǔ) 與管理。VC+提供了幾種接口(DAO、OLE/DB、 ADO、ODBC)來(lái)支持?jǐn)?shù)據(jù)庫(kù)編 程,利用這些接口,可以在程序中直接操作各種各樣的數(shù)據(jù)庫(kù),如 SQL Server、Microsoft Access、 Microsoft FoxPro 等等。采用以上幾種接口訪問(wèn)數(shù)據(jù)庫(kù)各有 千秋,本系統(tǒng)是采用 ADO 接口實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)。VC+ 中 MFC 與 SQL Server2000 數(shù)據(jù)庫(kù)的連接方法: 1、創(chuàng)建一個(gè)用來(lái)連接的 ADO 類庫(kù) 系統(tǒng)菜單中 Insert-New Class 項(xiàng),Class type 選擇 Generic Class;在 Name 后輸入 類名“ADOConn”,點(diǎn) OK。這樣,在工程上自動(dòng)生成 ADOConn.h 和 ADOConn.cpp 兩個(gè)文件。 2、導(dǎo)入 ADO 動(dòng)態(tài)鏈接庫(kù) msado15.dll 在 ADOConn.h 中導(dǎo)入一個(gè) ADO 動(dòng)態(tài)鏈接庫(kù) msado15.dll,添加代碼:#import “c:Program FilesCommon FilesSystemadomsado15.dll“ no_namespace 黑龍江工程學(xué)院本科生畢業(yè)設(shè)計(jì) 13 rename(“EOF“,“adoEOF“) rename(“BOF“,“adoBOF“)(rename(“BOF“,“adoBOF“)也可以 省略) ,同時(shí)在 ADOConn.h 中定義 public:/添加一個(gè)指向 Connection 對(duì)象的指針: _ConnectionPtr m_pConnection; /添加一個(gè)指向 Recordset 對(duì)象的指針: _RecordsetPtr m_pRecordset。 3、獲取連接字符串 m_pConnection-Open(_bstr_t ConnectionString, _bstr_t UserID, _bstr_t Password, long Options) 操作。ConnectionString 為 VC+中對(duì) SQL SERVER 中 ADO 設(shè)置。如, Provider= SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=test;Data Source=.。其中 Data Source 為服務(wù)器名稱,可以用 Server 代替,本 機(jī)表示為.或者(local);Initial Catalog 為你要使用的數(shù)據(jù)庫(kù)名稱可以用 Database 代替; Integrated Security=SSPI 表示用集成模式,此時(shí) uid 和 pwd 設(shè)置不起作用;只有當(dāng) Integrated Security=FALSE 表示用混合模式,uid 和 pwd 設(shè)置才起作用。參數(shù) Options 表示 CommandText 的類型:adCmdText-文本命令;adCmdTable-表名 adCmdProc-存儲(chǔ)過(guò)程;adCmdUnknown-未知。 4、添加兩個(gè)成員函數(shù) (1)執(zhí)行查詢函數(shù) _RecordsetPtr virtual CADOConn(); bool OnInitDBConnect();/初始化一連接數(shù)據(jù)庫(kù) _RecordsetPtr /執(zhí)行查詢 bool ExecuteSQL(_bstr_t bstrSQL);/執(zhí)行 sql 語(yǔ)句 CTime GetOleDateTime(_variant_t var); void ExitConnect();/斷開(kāi)連接 public: _ConnectionPtr m_pConnection; /定義一個(gè)指向 connection 對(duì)象的指針 /用來(lái)連接數(shù)據(jù)庫(kù) _RecordsetPtr m_pRecordset; /定義一個(gè)指向 Recordset 對(duì)象的指針 黑龍江工程學(xué)院本科生畢業(yè)設(shè)計(jì) 43 ; #endif / !defined(AFX_ADOCONN_H_87E4D2BE_8D74_4A7B_A202_6A07717B3947_INCL UDED_) (2)ADOConn.cpp 代碼 / ADOConn.cpp: implementation of the CADOConn class. #include “stdafx.h“ #include “ADOConn.h“ #ifdef _DEBUG #undef THIS_FILE static char THIS_FILE=_FILE_; #define new DEBUG_NEW #endif CADOConn:CADOConn() CADOConn:CADOConn() bool CADOConn:OnInitDBConnect() /初始化 OLE/COM 庫(kù)環(huán)境 HRESULT ret,res; :CoInitialize(NULL); try /創(chuàng)建 connection 對(duì)象 ret = this-m_pConnection.CreateInstance(“ADODB.Connection“); /設(shè)置連接字符串,必須是 BSTR 型,或者是_bstr_t 類型 _bstr_t strConnect=“Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=test;Data Source=.“; res = this-m_pConnection-Open(strConnect,“,“,adModeUnknown); 黑龍江工程學(xué)院本科生畢業(yè)設(shè)計(jì) 44 /也可以用這種方式來(lái)連接數(shù)據(jù)源 catch(_com_error e) /顯示錯(cuò)誤信息 AfxMessageBox(e.Description(); HRESULT rs = m_pRecordset.CreateInstance(_uuidof(Recordset); if(res = 0) return true; else return false; _RecordsetPtr /創(chuàng)建記錄集對(duì)象 HRESULT ret = m_pRecordset.CreateInstance(_uuidof(Recordset); /取得表中的記錄 HRESULT res = m_pRecordset- Open(bstrSQL,m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adC mdText); catch(_com_error e) AfxMessageBox(e.Description(); 黑龍江工程學(xué)院本科生畢業(yè)設(shè)計(jì) 45 return m_pRecordset; bool CADOConn:ExecuteSQL(_bstr_t bstrSQL) try if(m_pConnection = NULL) this-OnInitDBConnect(); m_pConnection-Execute(bstrSQL,NULL,adCmdText); return true; catch(_com_error e) AfxMessageBox(e.Description(); return false; void CADOConn:ExitConnect() if(m_pRecordset != NULL) m_pRecordset-Close(); m_pConnection-Close(); :CoUninitialize(); #include CTime CADOConn:GetOleDateTime(_variant_t var) COleDateTime oleTime(var); SYSTEMTIME sysTime; oleTime.GetAsSystemTime(sysTime); return CTime(sysTime); 黑龍江工程學(xué)院本科生畢業(yè)設(shè)計(jì) 46 附錄 B 外文文獻(xiàn) How to troubleshoot connectivity issues in SQL Server 2000 Chris Tull, Microsoft Help and Support This article can help you to resolve connectivity problems with Microsoft SQL Server 2000. This article contains descriptions of common connectivity problems and the steps that you can take to help resolve your connectivity problems. SQL Server 2000 supports several methods of communication between the instance of SQL Server and the client applications. If your client application and the instance of SQL Server reside on the same computer, Microsoft Windows interprocess communication (IPC) components, such as local named pipes or the Shared Memory protocol, are used to communicate. However, when the client application and the instance of SQL Server reside on different computers, a network IPC, such as TCP/IP or named pipes, is used to communicate. SQL Server 2000 uses Net-Library, a DLL, to communicate with a particular network protocol. A matching pair of Net-Libraries must be active on the client computer and the server computer to support the network protocol that you want to use. For example, if you want to enable a client application to communicate with a specific instance of SQL Server across TCP/IP, the client TCP/IP Sockets Net-Library (Dbnetlib.dll) must be configured to connect to the server on the client computer. Likewise, the server TCP/IP Sockets Net- Library (Ssnetlib.dll) must listen on the server computer. In this scenario, the TCP/IP protocol stack must be installed on both the client computer and the server computer. After you install SQL Server 2000, you can configure the properties of the client Net- Libraries by using Client Network Utility. You can configure the properties of the server Net-Libraries by using Server Network Utility (Svrnetcn.exe). The server Net-Libraries are installed during the installation of the server tools in SQL Server Setup. However, some of the server Net-Libraries may not be active. By default, SQL Server 2000 enables and listens on TCP/IP, named pipes, and Shared Memory. Therefore, for a client to connect to a server computer, the client must connect by using a client Net-Library that matches one of the server Net-Libraries that is currently being used by the instance of SQL Server. 黑龍江工程學(xué)院本科生畢業(yè)設(shè)計(jì) 47 For additional information about SQL Server communication components and Net-Libraries, see the following topics in SQL Server Books Online: Communication Components Client and Server Net-Libraries Managing Clients Troubleshoot connectivity issues Most of the connectivity issues that you may notice in SQL Server 2000 occur because of problems with TCP/IP, Windows authentication, or a combination of TCP/IP and Windows authentication. Important Before you start to troubleshoot connectivity issues in SQL Server 2000, make sure that the MSSQLServer service is started on the computer that is running SQL Server. Verify your DNS settings The name resolution process in Domain Name System (DNS) is used to resolve the IP address to the name of the instance of SQL Server. If the name resolution process does not work correctly, the instance of SQL Server is not reachable, and you may receive one or more of the following error messages: SQL Server does not exist or access denied General Network Error Cannot Generate SSPI Context To verify that the name resolution process is resolving the correct server, you can ping the server by using the server name and the IP address of the server. To do so, follow these steps: 1. Click Start, and then click Run. 2. In the Run dialog box, type cmd in the Open box, and then click OK. 3. At the command prompt, run the following command: ping Note the IP address that is returned. 4. At the command prompt, run the following command (where IP address is the IP address that you noted in step 3): ping a Verify that the command resolves to the correct server name. If either of the specified commands are not successful, time out, or do not return the correct values, the DNS lookup 黑龍江工程學(xué)院本科生畢業(yè)設(shè)計(jì) 48 is not working correctly or the problem occurs because of other networking or routing issues. To see your current DNS settings, run the following command at a command prompt: ipconfig /all To work around this problem, add an entry for the server to the %systemroot%system32d- riversetchosts file on the client computer. You can also work around the problem by connecting to the server by using the Named Pipes Net-library. Verify the enabled protocols and aliases Connectivity problems may occur if the alias on the client computer is set incorrectly. You can view the aliases by using Client Network Utility. To do so, follow these steps: 1. Start Client Network Utility. If the SQL Server client tools are installed on the computer that is running the client application, follow these steps to start Client Network Utility: a. Click Start, and then point to Programs. b. Point to Microsoft SQL Server, and then click Client Network Utility. If the SQL Server client tools are not installed on the client computer, follow these steps to start Client Network Utility: a. Click Start, and then click Run. b. In the Run dialog box, type cliconfg in the Open box, and then click OK. 2. In the SQL Server Client Network Utility window, click the General tab, and then enable all the protocols that you want to use. Note You must at least enable the TCP/IP protocol and the named pipes protocol. 3. Click the Alias tab, and then verify the aliases that are configured for the instance of SQL Server. 4. Verify the properties of the aliases to make sure that the server name or IP address and the protocol are configur
收藏