{$Wap} | 网站首页 | 电脑资料库 | wap资源库 | 建站资源库 | 茂名合租网 | 下载中心 | 美图资源库 | 茂名资源网商城 | 
广告载入中...
〒 您现在的位置: 茂名资源网 >> 建站资源库 >> 数据库 >> 建站资源库正文
PB/Sybase系统开发中的数据库转移 (1) 【字体:
作者:佚名    建站资源库来源:不详    点击数:    更新时间:2007-5-11
广告载入中...

摘要

针对在大型MIS系统中经常遇到将一种数据库的原始数据转移到服务器数据库进行的处理问题,将本地磁盘上的Foxbase数据库数据转移到Sybase 11数据库服务器为例,提出了几种有效的方法,并对各种方法的优缺点作了一一的说明和比较。

在大型的MIS系统中大多是采用客户机/服务器(C/S)的网络体系结构,在该系统中数据集中存储在服务器的数据库中。开发新的MIS系统的时候,数据的采集和录入是一个重要的部分。以电信计费系统为例主要有以下几个方面:

1)原始数据的分拣处理,处理的对象主要是磁盘、磁带,或者光盘的二进制数据。

2)以往系统中的档案数据和参数数据的转移处理,以减少用户的输入量和因为人工输入所带来的错误,处理的对象主要是Foxbase、Access等数据库文件。

3)信息台或者其它部门送来的以Foxbase、Access等文件存储的费用文件,如168信息台送来的费用数据等。

本文中将结合PowerBuilder/Sybase系统开发的实例,重点介绍2),3)两种情况的处理过程(即完成本地数据库文件向服务器数据库中的转移)中所采取的几种方式,以及各种方式的具体设计方法,说明了每种方法的普遍性和针对性,并对其优缺点作了比较。

1、利用importfile ( )函数实现转移

PowerBuilder是一种进行C/S系统开发的优秀的前端工具,本身提供了大量的功能和函数,其中DataWindow数据窗口是其重要的组成部分,具有强大的功能,其中importfile( )函数能够完成数据的转移。

实现的过程是在服务器上创建一个同磁盘上的数据库结构相同的表,创建一个数据窗口对象(dw_fox),取数据源建立数据窗口,利用数据窗口对象本身的importfile( )函数将数据转移到数据窗口中,利用update( )函数将数据保存到服务器上所建的表中:

dw_fox. importfi1e (cipan_file_name)

dw_fox. Update ( )

其中cipan_file_name为磁盘上的文件及其路径名称。该处理简单,但是缺乏灵活性,对在服务器数据库中建立的表的结构有比较高的要求,保证严格的一致性,但可以作相应的处理将有效的数据处理后转移到自己建的表中。

2、利用ODBC连接实现转移

ODBC是一种标准的应用程序接口(API),最早由Microsoft Windows系统实现,它允许一个应用程序同时连接多个数据源,它使用标准的SQL语句作为其数据查询语句。在处理过程中先通过ODBC画板静态地建立一个ODBC连接磁盘上的Foxbase数据库,编程中创建一个本地的事务对象连接本地的数据库,通过处理后,将有效的数据送到服务器上事先设计的一个与Foxbase数据库相类似的表中,保存有效的数据就可以了。在实际处理的过程中,各个地方的磁盘文件名是不同的,这样所连接的数据库文件名和目录都是变化的,那么在设计的时候就不能够实现将ODBC的接口固定设计出来,在处理的时候一般有两种方式,前端作一定的处理,即按照系统要求的目录和文件名称进行拷贝,为了使应用程序有更好的适应性,我们没有采取这种方式,而是另外一种方式,采取动态建立ODBC连接的方式。

在PowerBuilder的ODBC连接中需要几个重要的参数,在利用ODBC事先建立一个连接FoxBASE数据库后(如Foxbase),查看pb.ini文件时将有如下的记录:

  

[PROFILE Foxtran]

DBMS=ODBC

.......

DbParm=Connectstring='DSN=FoxBASE'

Prompt=0

AutoCommit=0

同样打开注册器在HKEY_CURRENT_USER Software\ODBC\ODBC.INI下将会发现已经注册的FoxBASE主键,这些给我们动态地建立ODBC连接提供了重要的资料。

在具体的设置中利用PowerBuilder提供的函数注册一个ODBC的连接,然后创建一个事务对象连接本地(磁盘)的数据库,作相应的处理后将所需要的数据送到服务器上,具体的操作如下:

RegistrySet("HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\FoxBASE", "Default Dir", regstring!,

 file_path)//设置FoxBASE主键

Transaction Foxtran

Foxtran=create Transaction //下面是初始化

Foxtran.DBMS="ODBC"

Foxtran.DBParm="Connectstring='DSN=FoxBASE'"

connect using Foxtran;

其中FoxBASE是注册的ODBC的名称,Foxtran是事务对象管理中创建的用以连接Foxbase数据库的新事务,然后对事务对象进行初始化,file_path是磁盘数据库所在的路径名称(可根据用户输入的文件路径和文件名分析后取得)。利用动态创建ODBC连接同样可以同时连接其它的本地数据库如Access或者Sybase SQL anywhere等,具有一定的灵活性。

3、利用数据管道实现转移

PowerBuilder的数据管道对象是在开发(利用Data Pipeline画板来完成)和运行(动态的生成)当中传输数据和数据结构的一种有效的方案。这些数据库可以是相同的DBMS或不同的DBMS,数据传输可以是插入一张完整的数据表或者表的一部分及其数据,也可以是更新已有表的数据。转换时几个重要的选项是:源数据库,目标数据库,移动数据出来的源表,数据将移到的目的表,所要完成的管道操作等。下面以在运行中使用为例来加以说明其处理的过程。

(1)建立管道对象(Pipe_copy_convert),然后建立一个管道类型的标准类用户对象u_pipeline和一个数据窗口dw_pipe_errors。在运行的过程中创建用户对象实例,对它的属性进行赋值:

iu_pipeline=create u_pipelineiu_pipeline.DataObject="pipe_copy_convert"

(2)创建连接源数据库和目标数据库的事务对象,初始化连接事务对象(同上)。

Transaction Tran_sourse, Tran_dest

ran_sourse=create Transaction

Tran_dest=create Transaction

...... //初始化

(3)运行数据管道及后续处理。

利用start()函数完成后,捕捉到错误后进行相应的处理,利用cancel()终止数据管道的执行。

iu_pipeline.start (tran_sourse, tran_dest, dw_pipe_errors)

...... //错误处理

iu_pipeline.cancel()

利用数据管道能够比较快速的、直接的将本地数据库(包括表的整个结构或者部分以及数据)转移到服务器的数据库并保存在一个表中,在转移用户的原始档案资料的时候多采取这种方法。

更多资源请访问www.0668idc.com

[1] [2] 下一页  

收藏此页到:[天极网摘]  [和讯网摘]  [新浪VIVI]  [365key]  [博采中心]  [网摘中国]  [5Seek]  [狐摘 ]  [365Fav]  [热门 ]  [人人网摘]  [我摘]  [YouNote]
广告载入中...

注明
☉本站所有软件和资料大多来自互联网收集整理,仅供学习和研究使用。如有侵犯您版权的,请来信指出,本站将立即改正。
邮址:diyb208%21cn.com请将%换成@
☉下载的压缩包如需要密码的,密码统一为:www.0668idc.com
☉茂名资源网不承担用户因使用这些下载资源和技术教程对自己和他人造成任何形式的损失或伤害。
☉资源下载请使用[FlashGet]下载,否则可能出现下载不了的情况;解压缩请使用[Winrar]。

  • 上一个建站资源库:

  • 下一个建站资源库: 没有了
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口

    相关建站资源库 推荐文章 热门文章

  • 值得大家一看:有关DB2的FAQ…

  • 教你使用SQL查询DB2 9中的XM…

  • DB2数据库的数据复制技术简单…

  • DB2 9数据库中有关同步trigg…

  • DB2 LOAD命令中COPY NO/COPY…

  • SQL Sever中有关DATALENGTH的…

  • 听听数据库领域的6位专家浅谈…

  • DB2 9——进行信息数据管理的…

  • 访问大型机、小型机上DB2 9数…

  • 教你如何构建DB2 Cube View元…

  •  PB/Sybase系统开发中的数据库转移…
     值得大家一看:有关DB2的FAQ小锦…
     DB2中几种遇到的SQL1032N出错的解…
     教你使用SQL查询DB2 9中的XML数据…
     DB2高可用性灾难恢复(HADR)的限…
     DB2数据库的数据复制技术简单概述…
     DB2 for z/OS Web 应用程序死锁分…
     史上最伟大12款软件排名 DB2名列…
     DB2 9数据库中有关同步trigger的…
     DB2 LOAD命令中COPY NO/COPY的说…

     

     PB/Sybase系统开发中的数据库转移…
     值得大家一看:有关DB2的FAQ小锦…
     DB2中几种遇到的SQL1032N出错的解…
     教你使用SQL查询DB2 9中的XML数据…
     DB2高可用性灾难恢复(HADR)的限…
     DB2数据库的数据复制技术简单概述…
     DB2 for z/OS Web 应用程序死锁分…
     史上最伟大12款软件排名 DB2名列…
     DB2 9数据库中有关同步trigger的…
     DB2 LOAD命令中COPY NO/COPY的说…

     

    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    站长:落叶有声
    管理员通信方式:信箱地址:diyb208@21cn.com QQ:84805309