教程学院
图像设计 多媒体类 机械制图 办公软件 操作系统 系统编程 网站编程 网页制作 数据库类 网络路由 网络工程 网络安全 考试认证
firefox火狐浏览器下载
酷网学院
CAD
AutoCad Cam350 ProEngineer GCcam MATLAB Unigraphics SolidWorks CAXA Solid3000 Cimatron EdgeCAM
系统
安全 防火墙 病毒 WinXP Win2003 Vista
数据库
编程
网络
精彩图库
  当前位置: 库库中文网 · 系统编程教程 · C++语言 · C++综合文章

用C++ Builder设计多层数据库运用程序

学院最新推荐文章
教程推荐
『用C++ Builder设计多层数据库运用程序』如果文章有大量图片,显示会较慢,请等待图片下载完成
 
点击数: 更新时间:2006-12-14 

一、Multi_Tier结构的实现

C++ Builder提出的Multi_Tier是把以前的Client/Server前端应用程序内的BDE、SQLLink、DataModule拿到另一台NT服务器上,也叫应用程序服务器,而前端机只留下应用程序及DBClient.DLL,而移到应用程序服务器上的DataModule则变成一个COM程序,此COM程序是通过BDE、SQL Link传输SQL到后端数据库,并从后端数据库存取数据;然后由Tdatasetprovider组件把读取的Dataset压缩并切割成一段一段的数据包(data packet)通过DCOM的机制传给前端机,前端机上的DBClient.DLL会把接收到的数据包再还原成DataSet传给程序中的TclientDataSet组件,Data Control组件就可以TclientDataSet为数据源对之进行操作。而COM程序会把修改后的DataSe正确地写回后端数据库。

与Client/Server结构相比,Multi_Tier结构具有很多优点,主要为:

1、大幅度地减少数据库服务器的负担。因为多了一层应用程序服务器,接管了众多Client端机的Connection处理,数据库服务器只需处理应用服务器的Connection,这样就不会因为用户(Client)数的增加而影响系统的运行性能。

2、前端机应用程序安装方便。Multi_Tier结构中,把以前的Client/Server前端应用程序内的BDE、SQL Link、DataModule拿到数量很少的应用服务器上,前端机只负责UseInterface的处理,只需要一个单纯的EXE文件(包括DBClient.DLL),可以在应用服务器上开发前端应用程序,通过网络复制到各个前端机上。

二、环境配置

1、后端数据库服务器:

数据库系统及数据库提供的中间软件,本文为VMS系统上安装ORACLE 7.3,也可安装ORACLE8、SQL*NET 2.3 。

2、应用程序服务器:

(1)在PC Server上安装Windows NT,使它成为一台Microsoft NT Server。

(2)保证网络的畅通,即网络层的通讯协议(TCP/TIP,IPX…)的畅通。

(3)安装数据库系统提供的中间件,本文是ORACLE提供的ORACLE for NT 的SQL*NET产品,执行SQL*NET Easy Configuration工具,设定ORACLE的TNS连接参数,加入一个数据库别名,连上后端的ORACLE数据库服务器。

(4)安装BDE Administrator,设定BDE的参数内容,具体步骤是Databases中新建一个别名,本文是ORACLE2,其中的参数改为:

SERVERNAME: 在第3步中定义的ORACLE数据库服务器的别名。

NET PROTOCOL: TNS

USER NAME: ORACLE的用户名/口令

(5)安装开发用的C++ builder 5软件,用于开发应用服务器和客户端的程序。

3、前端客户机:

(1)安装操作系统Windows 95/98,本文是Windows 98,保证各前端机与应用服务器在TCP/IP层上连通。

(2)从NT服务器的\Winnt\System32目录下复制的DBClient.DLL到本机的 \Windows\System。

(3)如操作系统为Windows 95,必须安装DCOM程序,因为Windows 98与Windows NT Workstation已经内含DCOM程序,不需另外安装。

(4)应用程序,在应用服务器上开发,通过网络复制。

三.实现步骤

下面是一例对材料库存表进行维护的Multi_Tier结构数据库管理程序,用户可以在前端的Windows 98机上通过中间的NT应用服务器对Alpha机上的ORACLE数据库上的库存表进行维护:

1、应用服务器上程序的开发:

(1)打开一个新工程,然后点主功能菜单[NEW]中的[RemoteDataModule] 填上Coclass Name项,这里是KCBB。

(2)在RemoteDataModule上放置DATABASE,TABLE ,DataSetProvider三个组件,并设属性如下:

Database1 的Aliasname ORACLE2

Database1 的 Databasename TEST

Database1 的 Connected TRUE

Table1 的 Databasename TEST

Table1 的 Tablename KCB

Table1 的Active TRUE

(这六行目的是连上后端数据库ORACLE2的表KCB)

DataSetProvider的Dataset TABLE1

DataSetProvider 的Exported TRUE

(这两行目的是DataSetProvider组件将表KCB作为DATASET传给前端程序)

(3)在Forms1加一个Lable组件,上面写上"服务器应用程序已被启动",这样运行时屏幕上就会出现这句话,说明程序已被调用。

(4)运行程序,进行注册操作。

为了前端程序能连上此COM程序,必须把它注册到服务器的注册表内,可通过运行Regedit.EXE,根据COCLASS NAME捜寻注册名来确认注册是否成功。

2、前端程序的开发:

(1)打开一个新工程,拖拉一个DCOMConnection组件,一个ClientDataSet组件,DataSource组件,Dbgrid组件到FORM1上,并设属性如下:

DCOMConnection1的Computername 应用服务器的机器名

DCOMConnection1的Servername PROJECT1.KCBB(COM注册名)

ClientDataSet1的 Remoteserver DCOMCONNECTION1

ClientDataSet1的 Provider TABLE1

ClientDataSet1的 ACTIVE TRUE

(这五行连接上应用服务器的COM程序,接收表KCB作为本机的Dataset)

DataSource 的 DATASET ClientDataSet1

Dbgrid的DataSource DataSource1

(这两行用Dbgrid组件对本机Dataset进行操作)

(2)拖7个Button来当作功能按钮 ,分别设为新增、修改、删除、取消、写入、重新读取、返回 。由于BC++B提供了ActionList组件,其中包括了StandardAction,可以利用这些标准的Action来编写Dataset的编辑功能, 只要把Button的属性Action依照每Button所赋予的功能指向对应的ActionList项即可。

3、将调试好的前端程序复制到所有的前端机中,运行调试,一个Multi_Tier结构的数据库应用程序就可投入使用了。

本文描述了开发Multi_Tier结构的数据库应用程序的一种方法,还需要进一步完善,如怎么样提高数据在其上的传输效率及数据传输中的出错处理等都需要进一步地编程实现。



作者:无 来源:无
】【关闭窗口
·上页:
·下页:
相关文章
     系统编程教程 - C++综合文章
普通教程soap实际示例 客户端(c++) + 服
普通教程soap实际示例 客户端(c++) + 服
普通教程钩子地类型和完成
普通教程传递数据结构参数和字符串参数时
普通教程C# 命名准则与设计习惯
普通教程关于调用DTS包地代码
普通教程求值表达式
普通教程用C语言描述数据结构
普通教程Visual C++完成文件间成批转换功
普通教程运用VB设计SAP接口程序初探
普通教程VC小灵活技术20个
普通教程用Visual C++操作INI文件
精彩图片汇集
advertisement
关于站点 - 广告服务 - 联系我们 - 版权隐私 - 免责声明 - 合作伙伴 - 程序支持 - 网站地图 - 返回顶部
网站文本地图
版权所有:库库中文 2005-2007 欢迎各种媒体转载我们的原创作品[转载请注明出处]
copyright © 2005-2008 www.QQGB.com online services. all rights reserved. 蜀ICP备05015578
Template designed by Virus. Optimized for 1024x768 to Firefox,Opera and MS-IE6. Site powered by EQL.
红盾
热爱电脑,热爱生活
拥有电脑,拥有生命
让我们享受拥有电脑的时光