异构数据库系统之间进行数据通信的技术
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
异构数据库系统之间进行数据通信的技术
侯爱民1
(东莞理工学院计算机科学与技术系 广东东莞 523808)
摘要 数据库在企业信息管理中占有重要的地位。面对各种各样的数据库(Orcale ,Sybase SQL Anywhere ,MS SQL Server ,Informix ,等等)和同一个数据库的不同版本,如何保留历史数据和利用共享数据,是企业管理者所关心的一件事情。本文讨论了采用数据管道来解决数据库系统之间进行数据通信(即从一个数据库系统中传递历史数据或共享数据到另一个数据库系统中)的一种技术,论述了利用可视化的高级语言开发工具(PowerBuilder )及其数据管道对象来实现这项技术的原理、方法及程序实现。
关键词 信息管理,数据库,数据管道,通信
A Technique of Data Communication between HDB
Aimin Hou
(Department of Computer Science and Technology , Dongguan University of Technology,
Guangdong Dongguan 523808,China)
Abstract : Database plays a key role in the business informatiom management . Facing the fact that there exist many different kinds of databases (for example , Qracle , Sybase SQL Anywhere , MS SQL Server , Informix , etc) and a various versions of the same database , how does the business manager remain the old data and enjoy the share data ? It is indeed a tough problem which the business manager should concern with . This paper discusses a technique for using data pipeline to solve the data communication between databases , so as to transfer the old or share data from one database to another , and presents the principle 、method and program of this technique which is accomplished based on a visual programming language (i .e . PowerBuilder) and a PB’s data pipeline object .
Keywords : information management ; database ; data pipeline ; communication
学科分类:520
人们在进行信息化管理时要使用数据库系统。市场上的数据库产品多如牛毛,大型数据库系统有Oracle ,Sybase SQL Anywhere ,MS SQL Server ,Informix 等。桌面数据库有Access ,FoxPro ,Paradox 等。既然市场存在如此多的数据库系统,那么,在它们之间进行数据共享就是一件十分重要和自然的事情了。
另一方面,即使同一个用户,他也很有可能前后使用了两套管理系统产品,或一套管理系统的两种版本的产品。这两套或两种管理系统各自使用的数据库系统可能是同构的,也可能是异构的。不管怎样,尽最大的可能利用以前的数据,减少不必要的重复投资和工作量,就是一件具有现实意义的事情了。
为了实现不同数据库系统之间的数据共享,人们必须找到一种行之有效的方法,在各个数据库系统之间传递数据,并且要保证在传递过程中数据的一致性和完整性。利用可视化的高级语言(PowerBuilder )中的数据管道对象,就可以实现这样的通信技术。本文着重讨论了这项 1 侯爱民,男,1963年生,副教授,硕士。主要研究领域为智能安全系统,神经网络,数据库系统
_______________________________________________________________________________
技术的原理、方法及程序实现。
1 方法概述
为了对本文讨论的技术的设计有个全貌的认识,我们先从总体上进行概述。
1.1 数据管道
数据管道在源数据库中和目标数据库中以数据表的形式进行表结构和数据的传输。它提供了一条简洁的方法,在同构或异构数据库之间传递数据。
使用数据管道进行数据传递,通常有两种方法。方法一,在数据管道画板中设计数据管道并执行。方法二,生成数据管道对象,在程序中通过一定的触发条件来执行。
使用方法一,对操作人员要求较高,必须具有计算机专业水平。使用方法二,可以由计算机专业人士编制成软件产品,然后由普通人员来使用。本文着重讨论第二种方法的实现技巧。
在创建数据管道对象时,必须指定数据管道的如下特性:
源数据库——数据的传递方。
目标数据库——数据的接收方。
源数据库用户表——源数据库中取出数据的那个用户表。
目标数据库用户表——目标数据库中接收数据的那个用户表。
管道操作类型——定义数据管道的执行方式,具体实现数据从源数据库用户表传递到目标数据库用户表的过程中对后者的影响方式和结果。
传递行数——定义一次提交所包含的源数据库用户表中的记录条数。
允许发生的最大错误数——定义一次提交中传递记录失败的最大条数。低于这个阈值,本次提交事务的操作成功。高于这个阈值,本次提交事务的操作失败。
扩展特性——定义源数据库用户表中需要传递的扩展特性。比方说,BLOB(二进制大对象)列。
1.2 设计原则
若要在应用程序中使用数据管道进行程序设计,开发出一个成功的数据库之间的通信技术,应当遵守以下设计原则:
建立数据库——使用数据库管理系统各自建立源数据库和目标数据库。主要定义数据库的结构(表,视图,组,元数据,存储过程和函数,用户,触发器),表的结构(字段,主键,外键,索引),字段的属性(字段名,数据类型,宽度,小数点位数,是否允许为空,缺省值)。
使用ODBC定义数据源——ODBC(Open DataBase Connectivity开放数据库互连标准)为应用程序连接数据库提供了一个开放式的标准接口。定义数据源就是通过ODBC接口与某个特定的用户数据库建立连接,直接使用该数据库的驱动程序,从而实现对该数据库的操作。因此,必须使用ODBC定义源数据库的数据源和目标数据库的数据源。
建立数据管道对象——在PB的数据管道画板中进行操作。主要完成前面提到的数据管道若干特性的定义。该对象的实质是若干条描述数据库怎样从源数据库向目标数据库传递数据的SQL语句。
建立数据管道用户对象——在PB的用户对象画板中进行操作。该对象是从数据管道系统对象继承而来的。通过执行该对象的函数和事件,来执行并监控数据管道的运行。
建立窗口——在PB的窗口画板中进行操作。该窗口主要用作应用程序窗口,是与用户进行交互操作的界面。在该窗口中设计相应的菜单或按钮,通过编写菜单或按钮的事件来调