admin管理员组

文章数量:1532172

2024年5月31日发(作者:)

维普资讯

网经验交流 

在PowerBu i I der中利用数据管道进行数据转换 

张丽芳 

(广州神州数码有限公司) 

摘要:本文主要阐述如何在综合管理信息系统MIS开发中进行数据转换,它提出了在PowerBuilder中利用 

数据管道进行数据转换的行之有效的方法,并详细介绍这种方法的实现技术及其优点。 

关键词:PowerBuilder; 数据管道; 数据转换 

1引言 

现行综合管理信息系统MIS系统的开发都采用 

大型数据库管理系统DBMS如Informix、Sybase、 

Oracle、IBM DB2等。这些数据库管理系统在方便用 

户选择使用的同时,也带来了一些新的问题。例如一 

个税务机关,由于历史的原因,各部门分别采用 

DbaLse、Foxpro等DBMS开发了一些旧的系统,但现 

在需要推广使用新的税务征收管理信息系统,实现集 

中统一的数据库管理,原来的数据大部分是可以重复 

利用的,为了保护在已有的数据库系统上的投资,就 

必须面对如何将多个数据源整合到新系统的问题。 

新的税务征收管理信息系统进行推广,首先要录 

入系统初始化数据包括开业登记、工商登记、纳税核 

定等。这些数据可以全部手工录入,但录入时出错可 

第一步是在明确旧系统和新系统数据映射关系 

的基础上,定义怎样从旧系统的数据表取数的视图; 

第二步是在旧系统中生成与新系统结构一样的数据 

过渡表来暂存数据;第三步是利用定义好的视图将旧 

系统数据转换到过渡表;第四步是将过渡表的数据作 

处理后转换到新系统。 

3 PowerBu i I der开发工具及其数据管道的介绍 

Powersoft公司推出的高效而快捷的集成开发环 

境PowerBuiIder,提供了可视化、面向对象和基于客户 

机/服务器的开发环境,是目前公认最佳的数据库前端 

开发工具之一一。它提供了开放式数据库连接ODBC,适 

用于各种DBMS,具有很好的兼容性,能更好地满足企业 

的实际需要,有利于应用系统的移植和扩充。 

数据管道(Pipline)是PowerBuilder提供的一 

个用于转换数据的智能对象,利用它可在一个数据库 

中传递数据或者从一个数据库向另一个数据库甚至 

跨DBMS传递数据而无需SQL编程。不同数据库所支 

持的数据类型可能有差异,数据管道会自动给出不同 

能性较大,录入完后还要进行数据校验,不仅耗费大 

量的人力物力财力,而且效率很低。为了加快数据录 

入的速度,可以将旧系统的数据通过一定的方法转换 

到新系统,这样不仅极大地提高初始化的效率,而且 

出错率非常低。 

数据库之间数据类型的最佳转换。在PowerBuilder 

中创建数据管道时需要定义:源数据库、访问的源表 

及从源表中检索的数据、数据管道操作、目的数据库、 

2数据转换原理 

数据转换过程大致如图1所示: 

目的表,如图2所示。 

lI定义卜_一.{生成过 -.{旧系统数据转 过渡表数据转J 

4在PowerBu II der中利用数据管道进行数据 

视图I l渡表J I 到过渡表 I I 到新系统 I 

图1数据转换原理 

转换的方法 

42 

维普资讯

下面就以旧税务征管系统(基于Foxpro)和新税 

旧系统数据表和新系统的数据表结构通常有很 

务征管系统(基于Sybase)为例,具体谈谈在 

大的不同:有些字段两者都有而且取值也相同:有些 

PowerBuilder中利用数据管道将旧系统的纳税人税务 

字段两者都有但取值不同则需要进行转换;有些字段 

登记数据表DJSW.DBF的数据转换到新系统的纳税 

前者有而后者没有:有些字段前者没有而后者有。因 

人基本情况数据表NSRJBQK中的方法。 

此,必须建立旧系统数据和新系统数据的映射关系, 

如表3所示。 

表3 新系统和旧系统映射关系 

新系统 新系统字段 旧系统字段名 旧系统字段 

字段名 汉字名 汉字名 

NSRBM 纳税人编码 DJSW.QYBM 纳税人微机 

2 

编码 

FRDM 法人代码 

4.1数据转换前的准备工作 

NSRMe 纳税人名称 DJSW.QYMC 纳税人名称 

将旧系统的DJSW.DBF数据表拷贝在某一个目 

JJLX—M 经济类型 DJSW.JJXZ 经济类型 

NSRLB M 纳税人类别 ‘1’ 一企业 

录例如“c:\oldtax”下,在PowerBuilder中建立该目 

FZRO D 发证日期 1900一O1一O1’ 

录的ODBC数据源(驱动程序选择PowerBuilder 

在上面的映射表中有几种类型的映射关系:新系 

Intersolv 3.00 32.BIT dBASEFile);同时要建立到新 

统和旧系统都有而且是相同的字段(例如新系统的 

系统的数据源(驱动程序选择SYC Sybase System 10 

NSRMC)直接填入即可;新系统和旧系统都有但取 

CTLIB)。 

值不相同的字段(例如新系统的JJLX_M)需要进行 

4.2数据转换的步骤 

代码转换;新系统有而旧系统没有的字段要填入默认 

(1)建立旧系统到新系统数据表的映射关系并定 

常数(例如新系统的FRDM填入‘’, 新系统的 

义视图 

NSRLB

M填入‘1’,新系统的FZRQ_D日期型数 

涉及纳税人基本情况的数据表在新系统的数据 

据填入‘1900.01.01’);新系统没有而旧系统有的 

表是NSRJBQK见表l,在旧系统是DJSW.DBF见表 

字段则丢弃(例如旧系统的NSRSBH等)。 

2。其中,代码表名不为空的字段表示本字段的取值 

旧系统与新系统中内容相同但代码不同需要进 

必须是相应代码表的值,例如字段JJLX M(经济类 

行代码转换的字段要增加一个转换表。经济类型的转 

型)的取值必须是代码表JJLX里的值。 

换表EX_JJLX.DBF的表结构见表4和数据见表5, 

例如旧系统的JJXZ字段取值为‘l2’表示“国有联 

1 系统NSRJBQK& 构 

字段名 字段汉字名 数据类型 代码表名 

营企业”,对应在新系统中的JJLX字段取值为‘55’。 

NSRBM 纳税人编码 char(11) 

I 

FRDM 法人代码 char(9) 

NSRMC 纳税人名称 varchar(80) 

字段名 字段汉字名 数据类型 

JJLX_M 经济类型 char(2) JJLX 

NSRLB M 纳税人类别 char(1) NSRLB 

JJXZ 旧系统经济类型 char(2) 

FZRQ D 发证日期 datet ime 

NAME 旧系统经济类型名称 char(30) 

jjLX 新系统经济类型 char(2) 

2 川系统『).J w.I)BF 结构 

字段名 字段汉字名 数据类型 代码表名 

QYBM 纳税人微机编码 char(6) 

JJXZ NA慨 JJLX 

NSRSBH 纳税人识别号 char(16) 

11 国有企业 11 

QYMC 纳税人名称 char(5o) 

12 国有联营企业 55 

JJLX 经济类型 char(2) ZGJJXZ 

LRRQ 录入日期 char(8) 

2002年第3期广东自动化与信息工程43 

维普资讯

根据上面的映射关系在PowerBuilder中定义相 

应视图,其SOL脚本为: 

SELECT DJSW.QYBM, ‘ ’ FRDM, 

张过渡表。检查过渡表中的数据是否符合新系统的规 

范,是否有丢失的情况。如果数据不符合规范则要修 

改,丢失则要补齐。过渡表的作用也就在此,在旧系 

DJSW.QYMC,EX_JJLX.J几X, ‘1’ NSRLB_M, 

‘1900-01-01’FZRQ_D 

FR0M DJSW,EX_J几X 

统数据转换到新系统的过程中做修改、补齐等过渡性 

处理,以保证数据能顺利转入新系统。 

(4)过渡表数据转换到新系统 

WHERE(DJSW.JJXZ=EX_JJLX.JJXZ) 

利用数据管道将过渡表数据转换到新系统,如果 

失败或者虽然成功但只转换了其中一部分数据,说明 

过渡表的数据存在问题,应继续调整以最终完成过渡 

这个视图生成的数据如表6所示: 

表6 

QYBM FRDM QYMC JJLX NSRLB M FZRQ D 

表中所有数据的转换。 

012074 

014017 

034064 

保安服务公司 11 

步胜钟表行 41 

1 

1 

1 

1—1—1900 

1—1—1900 

1—1—1900 

5结论 

实践证明,数据转换在系统初始化时非常有效, 

无论纳税人的数量是成百上千或上万,只要做好准备 

工作(准备工作是一劳永逸的),一批数据的转换在 

半天或一天内就可完成,极大地解放了手工录入之 

建筑工程公司 21 

介木加工场 

(2)生成过渡表 

苦。而且作为一种方法,它不仅适用于Foxpro旧系 

统数据转换到Syb ̄e新系统,同时也适用于新系统 

数据转换到以后更新的系统,或者是任何系统之间的 

数据转换。 

视图定义完成后,需要在旧系统中生成一张过渡 

表,它的结构与新系统NSRJBQK的表结构一致。过 

渡表的生成可在旧系统中重新创建,也可通过数 

据管道将新系统NSRJBQK的表结构直接转换到旧系 

统。 

参考文献 

[1I刘红岩,王蓉等编著.PowerBuilder 7.0应用开发技术详解. 

电子工业出版社,2000.3 

(3)旧系统数据转换到过渡表 

[2】郑阿奇,殷红先,张为民编著.PowerBuilder实用教程.电 

子工、I 出版社.2001.3 

利用数据管道将上面视图生成的数据转换到这 

Data Transfer by Data Pipeline in PowerBuilder 

Zhang Lifang 

(Guangzhou Digital China Limited) 

Abstract:This paper introduces how to transfer data in developing Management Information System.It puts forward one 

effective way and the realization of the system. 

Key words:PowerBuilder;Data Pipeline;Data Transfer 

本文标签: 数据系统转换管道过渡