国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

用BCB開發(fā)多層數(shù)據(jù)庫應(yīng)用程序

2019-11-17 05:29:59
字體:
供稿:網(wǎng)友

  繼Client/Server結(jié)構(gòu)在MRP、MIS等數(shù)據(jù)庫應(yīng)用系統(tǒng)紅火之后,多層結(jié)構(gòu)(Multi_Tier)開始登場(chǎng),許多廠商提供了各種中間件。本文描述了用Borland C++ Builder(以下簡(jiǎn)稱BCB)所提供的Multi_Tier構(gòu)件來開發(fā)多層數(shù)據(jù)庫應(yīng)用程序的方法。

  一、 Multi_Tier結(jié)構(gòu)的實(shí)現(xiàn)
  C++ Builder提出的Multi_Tier是把以前的Client/Server前端應(yīng)用程序里的BDE、SQL Link和DataModule拿到另一臺(tái)NT服務(wù)器上,也叫應(yīng)用程序服務(wù)器,前端機(jī)只留下應(yīng)用程序及DBClient.DLL,而移到應(yīng)用程序服務(wù)器上的DataModule則變成一個(gè)COM程序,此COM程序是通過BDE 、SQL Link傳輸SQL到后端數(shù)據(jù)庫,并從后端數(shù)據(jù)庫存取數(shù)據(jù),然后由TdatasetPRovider組件把讀取的Dataset壓縮并切割成一段一段的數(shù)據(jù)包(data packet)通過DCOM的機(jī)制傳給前端機(jī),前端機(jī)上的DBClient.DLL會(huì)把接收到的數(shù)據(jù)包再還原成DataSet傳給程序中的TclientDataSet組件,Data Control組件就可以TclientDataSet為數(shù)據(jù)源對(duì)之進(jìn)行操作,而COM程序會(huì)把修改后的DataSet正確地寫回后端數(shù)據(jù)庫。
  與Client/Server結(jié)構(gòu)相比,Multi_Tier結(jié)構(gòu)具有很多優(yōu)點(diǎn),主要表現(xiàn)在:
  1. 大幅度地減少數(shù)據(jù)庫服務(wù)器的負(fù)擔(dān)。因?yàn)槎嗔艘粚討?yīng)用程序服務(wù)器,接管了眾多客戶機(jī)的Connection處理,數(shù)據(jù)庫服務(wù)器只需處理應(yīng)用服務(wù)器的Connection,這樣就不會(huì)因?yàn)橛脩簦–lient)數(shù)的增加而影響系統(tǒng)的運(yùn)行性能。
  2. 前端機(jī)應(yīng)用程序安裝方便。Multi_Tier結(jié)構(gòu)中,把以前的Client/Server前端應(yīng)用程序內(nèi)的BDE、SQL Link和DataModule拿到數(shù)量很少的應(yīng)用服務(wù)器上,前端機(jī)只負(fù)責(zé)Use Interface的處理,只需要一個(gè)單純的EXE文件(包括DBClient.DLL),可以在應(yīng)用服務(wù)器上開發(fā)前端應(yīng)用程序,通過網(wǎng)絡(luò)復(fù)制到各個(gè)前端機(jī)上。

  二、 環(huán)境配置
  1.后端數(shù)據(jù)庫服務(wù)器配置
  包括數(shù)據(jù)庫系統(tǒng)及數(shù)據(jù)庫提供的中間件。本文具體環(huán)境為:
  VMS操作系統(tǒng)上安裝Oracle7.3。
  2.應(yīng)用程序服務(wù)器配置
 (1)在PC Server上安裝Windows NT ,使它成為一臺(tái)Microsoft NT Server;
  (2)保證網(wǎng)絡(luò)的暢通,即網(wǎng)絡(luò)層的通訊協(xié)議的暢通;
  (3)安裝數(shù)據(jù)庫系統(tǒng)提供的中間件,本文是Oracle提供的Oracle for NT 的SQLNET產(chǎn)品,執(zhí)行SQLNET Easy Configuration工具,設(shè)定Oracle的TNS連接參數(shù),加入一個(gè)數(shù)據(jù)庫別名,連上后端的Oracle數(shù)據(jù)庫服務(wù)器;
  (4)安裝BDE Administrator,設(shè)定BDE的參數(shù)內(nèi)容,具體步驟如下:
  Databases中先新建一個(gè)別名,本文是Oracle2,其中的參數(shù)改為:
server name 數(shù)據(jù)庫服務(wù)器的別名
net protocol tns
user name oracle的用戶名/口令
  (5)安裝C++Builder 5軟件,用于開發(fā)應(yīng)用服務(wù)器和客戶端的程序。

  3.前端客戶機(jī)配置
  (1)安裝操作系統(tǒng)Windows 95/98,本文是Windows 98,保證各前端機(jī)與應(yīng)用服務(wù)器在TCP/ip層上連通;
  (2)從NT服務(wù)器的/Winnt/System32目錄下復(fù)制DBClient.DLL到本機(jī)的/Windows/System;
  (3)如操作系統(tǒng)為Windows 95,必須安裝DCOM程序,因?yàn)閃indows 98 與Windows NT Workstation已經(jīng)內(nèi)含DCOM程序,不需另外安裝;
  (4)在應(yīng)用服務(wù)器上開發(fā)應(yīng)用程序,通過網(wǎng)絡(luò)復(fù)制。

  三、實(shí)現(xiàn)步驟
  下面是一個(gè)對(duì)材料庫存表進(jìn)行維護(hù)的Multi_Tier結(jié)構(gòu)數(shù)據(jù)庫治理程序,用戶可以在前端的Windows 98機(jī)上通過中間的NT應(yīng)用服務(wù)器對(duì)Alpha機(jī)上的Oracle數(shù)據(jù)庫上的庫存表進(jìn)行維護(hù)。
  1.應(yīng)用服務(wù)器上程序的開發(fā)
  (1)打開一個(gè)新工程,然后點(diǎn)主功能選單NEW中的RemoteDataModule,并填入Coclass Name項(xiàng),這里是KCBB。
  (2)在RemoteDataModule上放置DATABASE,TABLE,DataSetProvider三個(gè)組件,并分別設(shè)置屬性如下:
database1 aliasname oracle2
databasename test
connected true
table1 databasename test
tablename kcb
active true

datasetprovider dataset table10
eXPo0rted true
  前六行目的是連上后端數(shù)據(jù)庫Oracle2的表KCB,后兩行目的是DataSetProvider組件將表KCB作為DATASET傳給前端程序。
  (3)在Forms1加一個(gè)Lable組件,上面寫上“服務(wù)器應(yīng)用程序已被啟動(dòng)”,這樣運(yùn)行時(shí)屏幕上就會(huì)出現(xiàn)這句話,說明程序已被調(diào)用。
  (4)為了前端程序能連上此COM程序,必須把它注冊(cè)到服務(wù)器的注冊(cè)表內(nèi),可通過運(yùn)行Regedit.EXE,根據(jù)Coclass Name尋找注冊(cè)名來確認(rèn)注冊(cè)是否成功。
  2.前端程序的開發(fā)
  (1)打開一個(gè)新工程,拖拉一個(gè)DCOMConnection組件、一個(gè)ClientDataSet組件、DataSource組件、Dbgrid組件到FORM1上。
  DCOMConnection1設(shè)置如下屬性:
computername 應(yīng)用服務(wù)器的機(jī)器名
servername project1.kcbb
  ClientDataSet1設(shè)置如下屬性:
remoteserver dcomconnection1
provider table1
active true
  DataSource的DATASET設(shè)置為ClientDataSet1;
  Dbgrid的DataSource設(shè)置為DataSource1。
  (2)拖7個(gè)Button來當(dāng)作功能按鈕 ,分別設(shè)為新增、修改、刪除、取消、寫入、重新讀取、返回 。由于BCB提供了ActionList組件,其中包括了StandardAction,可以利用這些標(biāo)準(zhǔn)的Action來編寫Dataset的編輯功能, 只要把Button的屬性Action依照每Button所賦予的功能指向?qū)?yīng)的ActionList項(xiàng)即可。
  最后,將調(diào)試好的前端程序復(fù)制到所有的前端機(jī)中,運(yùn)行調(diào)試,一個(gè)Multi_Tier結(jié)構(gòu)的數(shù)據(jù)庫應(yīng)用程序就可投入使用了。
  本文僅僅描述了開發(fā)Multi_Tier結(jié)構(gòu)的數(shù)據(jù)庫應(yīng)用程序的一種基本方法,還需要我們?cè)趯?shí)際應(yīng)用中進(jìn)一步完善,如怎樣提高數(shù)據(jù)在其上的傳輸效率及數(shù)據(jù)傳輸中的出錯(cuò)處理等都需要進(jìn)一步地編程實(shí)現(xiàn)。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 平陆县| 耿马| 堆龙德庆县| 那曲县| 天等县| 临安市| 鄂托克旗| 郴州市| 台北县| 隆化县| 乐平市| 马尔康县| 蒙城县| 怀远县| 衢州市| 扎鲁特旗| 安庆市| 开平市| 淮南市| 广水市| 盐城市| 普宁市| 车致| 康定县| 葫芦岛市| 阳高县| 池州市| 临沂市| 赤水市| 泰和县| 遂平县| 道孚县| 泸定县| 霍山县| 丽水市| 青龙| 屏南县| 广汉市| 视频| 法库县| 庐江县|