您当前的位置:首页>论文资料>PowerBuilder多管道数据拷贝的编程设计

PowerBuilder多管道数据拷贝的编程设计

资料类别:论文资料

文档格式:PDF电子版

文件大小:174.51 KB

资料语言:中文

更新时间:2024-12-10 08:53:35



推荐标签:

内容简介

PowerBuilder多管道数据拷贝的编程设计 数学教术与皮用
软件设计与开发
PowerBuilder多管道数据拷贝的编程设计
胡嘉春邢小平
(国防信息学院潮北武汉430010)
摘要:PowerBuilder提供了数据管道(DataPipeline肢术,通过预定义源数据表和目标数据表,实现两表之问的数据拷贝。考页数据既可以跨库进行,电可以在不同DBSM平台之阔进行。由于PBDataPipeline的定义是一次性,周户不可以在应周过程中修改属性,只能按照预先设计完成“定向"数据复制。改进的方法是在程序中预先设计多管道,用户根据需要选择相应的管道遗行数据操作。文章结合实际使用经验介绍程序设计方法。
关键调:PowerBuilder数据管适数据率数据考贝中图分类号:TP319
文献标识码:A
1、创建所需的数据管道对象
文章编号:1007-9416(2011)11-0151-02
创建窗口,并布置应用程序所需的控件,如管道操作命令按钮、
利用数据管道拷贝数据有一定的局限性,这是因为DataPipe-line对象一旦生成,在使用过程中用户使不能更改,程序只能是根据预先设置,完成“定向“数据复制功能,改进办法之一是预先设计多种功能管道,在程序运行时,程序首先生成数据管道列表,让用户进行选择。以下为数据管道的常用属性配置,可根据需要进行设计并保存为各种功能的管道对象:
源数据:定义管道访间的源表以及需检索的数据;
目标数据(Table);定义数据拷贝的目标表:主键名称(Key):定义目标数据表的主键名称:
更新操作方式(Options):定义目标数据表的更新方式,可选项为创建、替换、追加或更新等操作,
事务提交方式(Commit):分阶段自动提交、一次性提交或手工提交等:
容错数据行(MaxErrors):允许出错的最大数据行,若超出该范围则终止管道操作,
表扩展属性拷贝(ExtendedAttributes):数据表中的一些扩展属性,如字体、头部信息,表的注释等是否连同数据拷贝一起转移到目标表中。
在创建管道对象之前,可先建立一个库文件(pipeline.PBL),
把设计的各种管道对象统一存放于该库文件之中。 2、创建标准类Datapipeline用户对象
至此,我们定义了各类的数据管道。但在应用程序中还不能直
接使用它们,因为这些对象不包含函数,事件以及属性等应用程序所需的一些必要特性。需要创建一个标准类的DataPipeline用户对象,通过该对象来实现程序的操作。其创建步骤为:
打开用户对象画板,选择NEW命令按钮,并定义所在创建的用户对象类型为标准类(Standard),
在SelectStandardClassType对话棚中选择“pipeline"内置系统对象;
根据需要,对该标准类用户对象进行以下修改:
在UserObject画板中声明实例(Instance)变量:StaticText ist_read,ist_write,ist_essors
即定义静态文本变量,分别用记录管道执行时的读取行数。写人行数以及出错行数。保存该对象,并取名为U_Pipeline
在Pipemeter事件中写人下列代码: Ist_read. Text=String(RowsRead) Ist_write.Text=String(RowsWritten Ist_errors. Text=String(RowslnError)
3、创建窗口及多管道目录的生成
万方数据
读写信息显示文本框等,完成以上操作后,需产生供用户选择的数据管道列表。利用LibraryDirectory函数从库文件中提取数据管道对象,利用存储对象保存管道对象信息,并在列表框中生成上当,其格式为:
Ls_entries=LibraryDirectory("pipeline.pbl*,DirPipeline!) DS_pipeline_list. ImportsString(Ls_entries)
Count= DS_pipeline_list.Rowcount( For j=1 to Count
Lb_1.AddItem(DS_pipeline_list.GetItemString(i, 1) Next
其中,Ls_entries为字符串变量,用来保存数据管道对象信息,“pipeline.pbl"为数据管道对象存放库文件的文件名,需带完整的路径参数,DS_pipeline_list为临时产生的-个数据存储对象,Lb_1 为列表框控件。
以下代码为建立数据管道的实例://声明实例(Instance)变量
U_pipeline U_pipe//生成数据管道实例
U_pipe=Create U_pipeline//读写显示静态文本框赋值 U_pipe.ist_write=st_write U_pipe.ist_read=st_read U_pipe.ist_errors=st_errors
管道的运行、中止及数据提交 4
管道启动代码:U_pipe.Start(sourcetrans,detinationreans, datawindow_object)
管道中止代码:U_pipe.Cancel()
关于管道启动与中止,可参阅文献1[2],不再费述。需注意的数据的提交,在设计数据管道对象时,有一个Commt参数项,其赋值即为数据拷见一个指定数值时,程序进行自动提交,比如,指定 Commit值为100,则当管道传输了100行数据后就自动执行一次 COMMIT语句,管道操作终止时已提交的数据行不会被撤销。如果数据传输出错,就不能进行人工干预,或者直接导致程序报错,较为稳要的做法是将COMMIT属性设置成NONE,让错误信息汇总于一
个datawindow表中,纠错后进行人工提交。 5、需要注意的几个地方
是数据库事务处理对象的设计配置。数据管道可以在不同 DBSM平台之间进行,因此多管道设计存在一源多目标间题,这种
..下转第154页
151
上一章:工艺管道三维数字化设计研究 下一章:MEDS管道设计的应用

相关文章

基于多传感器的管道泄漏检测装置设计 MFC编程在排水管道非开挖修复更新工程设计中的应用 基于FPGA的多通道高速数据传输系统的设计 多数据融合的四轴飞行器硬件电路设计 大数据时代的仿真系统设计 水平定向钻管道铺设优化仿真系统研究 基于FC-24R-C可编程控制器的多通道开关量控制器 时空上下文编码的视频拷贝检测 水利枢纽闸门监控中的多传感器数据采集系统设计