



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PB-数据管道 数据管道提供了一种不同数据库之间传递数据和(或)表结构的方法。 数据管道对象 要完成数据管道的功能需要提供如下内容: 需要数据源和目标数据库,并能够和这两个数据库正常联接 需要源数据库中的哪些表; 需要复制到目标数据库中的什么位置; 要完成哪些管道操作; 发生错误的频率; 允许发生错误的最大数; 需要包括的扩充特性。 数据管道画板 New DataBase Data Pipeline 数据管道选项: Table:目标表名 Key:目标表的主键名(非主键字段名) Options:管道选项 Create:添加表、Replace:替换已存在的表、Refresh:删除或者插入行、 Append:插入行、Update:更新或者插入行 Max Errors:允许的最大错误数 Commit:被提交的事务处理内的行数 Extended Attributes:扩充特性是否管道化 Design-Database Bolb 处理 Blob 类型的字段 如果在目标数据库中只创建数据表而不拷贝原来的数据,可以通过定义永远不 成立的检索条件来实现,比如 2 PB Object Standard Class OK 选中 pipeline OK 属性: DataObject:指定使用哪个数据管道 该属性是数据管道最重要的一个属性,有些类似于数据窗口控件的 DataObject 属性。此属性只能在运行时设定,虽然在用户对象画板中也提供了设置该属性 的地方,但这好像不起作用。下面是一个为管道用户对象设定 DataObject 的例 子: iuo_pipeline.DataObject=“p_copy_employee“ 数据窗口控件的 DataObject 属性如果在脚本运行时动态修改,则形成发行文件 时,在执行文件中不能包括相应的数据窗口对象。与此类似,数据管道对象也 不能包括在执行文件中,并且也不能包括在资源文件 pbr 中,只能放置到 pbd 或者 dll 文件中。 RowsInError:错误记录数 Long 类型,表示管道运行时已经发生的错误数。该值肯定不会大于管道画板中 定义的 MaxErrors 的取值。 RowsRead:已经读取的记录数 Long 类型,表示管道运行时已经读取的数据记录数。该值肯定不会大于管道画 板中 Commit 中定义的取值。 RowsWritten:已经成功写入的记录数 Long 类型,表示已经写入到数据库中的数据记录数 Syntax:管道对象的语法 该属性也是一个非常重要的属性,它体现了管道的全部定义,在某种程度上可 以把它用做一个管道。利用该属性可以构造出通用性很强的数据管道,因为可 以使用 Mid,Pos,Len,Left 和 Right 等字符串处理函数修改数据管道 Syntax 的语法,以适应程序运行时的情况。 可以选择管道用户对象 右键:Edit Source 查看语法 事件: 除了两个标准事件 constructor 和 Destructor 之外,还有三个数据管道用户对 象所特有的事件,它们是 PipeStart,PipeMeter 和 PipeEnd。这三个事件分别 在管道执行时、执行期间和执行结束后触发。通常使用这三个事件和管道的某 些属性来反映执行进度。 PipeStart 事件在调用管道函数 Start()或者 Repair()之后触发。PipeMeter 事 件在提交某个事务处理之后触发,这通常是在处理的记录数达到 Commit 值规定 的数时,PipeEnd 事件在函数 Start 或者 Repair 的执行过程终止时触发。 函数: Start: pipelineobject.Start(sourcetrans,destinationtrans,errordatawindow,ar g1,arg2,., argn ) 其中,pipelineobject 为管道用户对象类型变量,在执行该函数之前它的 DataObject 属性有明确的取值;sourcetrans 为联接源库的事务对象, destinationtrans 是用来联接目标库的事务对象,这两个事务对象在此之前都 应该和相应的库正确建立了联接;当管道执行时如果发生错误,它的错误信息 显示在 errordatawindow 数据窗口控件中。没有必要为该控件指明数据窗口对 象,即使指明在显示错误信息时该数据窗口对象也被替换。前面这三个变量是 必须要指明的,否则该函数无法正常工作。后面的变量根据数据管道是否定义 了检索变量而定。如果数据管道定义了检索变量,arg1,arg2,argn 要指定,并且变量的个数和检索变量的个数相同,并且对应的类型相同。如果 管道对象定义了检索变量,而在 Start 函数中没有提供相应的值,在管道运行 时系统会弹出对话框,要求用户输入检索变量。函数执行时的返回值情况比较 复杂,如下所示: 返回值 含义 1 函数执行成功 -1 管道打开失败 -2 列太多 -3 目标表已经存在 -4 目标表不存在 -5 联结错误 -6 检索变量错误 -7 列不匹配 -8 源中有致命的 SQL 错误 -9 目标中有致命的 SQL 错误 -10 超出了最大的错误数 -12 表语法错误 -13 没有提供必须的主键 -15 管道操作已经进行 -16 源数据库中有错误 -17 目标数据库中有错误 -18 目标数据库是只读的 Repair: 在脚本中运行管道,发生错误后必须进行一定的处理。Repair 函数就是在管道 执行发生错误后应该执行的。 错误发生后,错误信息及错误数据显示在 Start 函数 errordatawindow 变量指 定的数据窗口控件中。用户在修改错误后可以再次提交数据,这时调用 Repair 函数。这相当于在数据管道画板中发生错误后使用 Painter Bar 中的小图标按 钮 Update DB,或者使用菜单项 Design-Update Database。 pipelineobject.Repair ( destinationtrans ) 其中,pipelineobject 是管道用户对象类型变量,在执行该函数之前它的 DataObject 属性有明确的取值;destinationtrans 是和目标库建立联接的事务 对象。函数的返回值也比较复杂,如下所示: 返回值 含义 1 函数执行成功 -5 联结错误 -9 目标中有致命的 SQL 错误 -10 超出了最大的错误数 -11 无效的窗口句柄 -12 表语法错误 -15 管道操作已经进行 -17 目标数据库中有错误 -18 目标数据库是只读的 Cancel: 该函数可以终止正在执行的管道,在用户要强制退出某数据管道时可以调用该 函数。 pipelineobject.Cancel() 函数正确执行返回 1,否则返回-1。 运行数据管道 在数据画板中直接运行 使用菜单项 Design - Execute 或者 Painter Bar 中的 Execute 小图标按钮来 执行当前的数据管道。管道运行过程中,如果出现错误信息,应该根据错误信 息修改管道的定义,然后重新运行。 如果为提取源表数据指定了检索变量,则在执行时要求用户输入取值,然后使 用该值检索源数据窗口中符合该条件的数据。如果没有定义检索参数,则直接 从源表中读取数据。 在程序中执行管道 需如下步骤: 创建相关对象 和源目标数据库建立联接
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年上海市某科技发展有限公司劳动合同
- 2025存量房买卖合同标准模板
- 2025网络平台网约车服务合同B类
- 2025生产车间租赁合同范本
- 篮球馆广告位租赁合同
- 种植技术员聘用合同
- 2025拎包入住房屋买卖合同范本
- 项目合作框架协议书范本
- 新房屋租赁合同该
- 2025合同区外籍合同者个人所得税申报
- 《诗经》导读学习通超星期末考试答案章节答案2024年
- 《平凡的世界》教学设计 2024-2025学年人教版高中语文选修《中国小说欣赏》
- 2024年四川省成都市“蓉漂”人才荟武候区招聘23人历年(高频重点提升专题训练)共500题附带答案详解
- 网课智慧树知道《运动技能学习与控制(牡丹江师范学院)》章节测试答案
- 7.1.1条件概率(一)课件高二下学期数学人教A版选择性
- 全国高考物理高考题说题比赛一等奖课件物理说题李焕景
- 华为MA5800配置及调试手册
- 巴金名著导读《寒夜》
- 2024年建筑业10项新技术
- 《环境建设工程概算、预算编制办法》
- 2024年上海外服招聘笔试参考题库附带答案详解
评论
0/150
提交评论