打印本文 打印本文 关闭窗口 关闭窗口
如何在PB中调用数据管道
作者:武汉SEO闵涛  文章来源:敏韬网  点击数951  更新时间:2009/4/24 21:42:59  文章录入:mintao  责任编辑:mintao
关键:系统对象Pipeline
  首先打开Pipe画板,定义源数据库、源表、目标数据库、目标表,然后取名存盘,在本例中Pipe名为Pipe_sample。
  打开User Object画板,定义一个用户对象,该对象继承自系统对象Pipeline,并在该对象中定义如下实例变量:
STATICTEXT READ
STATICTEXT WRITTEN
STATICTEXT ERROR
  这三个变量用来记录数据管道执行时读入的行数,写入的行数,发生错误的行数。
  在该用户对象的Pipemeter事件中写入如下语句:
READ.TEXT=STRING(ROWSREAD)
WRITTEN.TEXT=STRING(ROWSWRITTEN)
ERROR.TEXT=STRING(ROWSINERROR)
  然后取名存盘,在本例中取名为U_Pipe_Sample。
  打开窗口画板,创建一个窗口,在该窗口中放置一个数据窗口对象和三个静态文本对象,分别名为DW_1,ST_READ,ST_WRITTEN,ST_ERROR,这个数据窗口用来记录管道执行过程中发生的错误信息,不要为该数据窗口对象指定数据窗口。
  在该窗口中定义如下实例变量:
Transaction I_SRC,I_DST
U_Pipe_Sample I_PIPE
  在窗口的Open事件中写入如下语句:
i_src=create transaction
i_src.dbms=odbc
i_src.dbparm="Connectstring=DSN=数据库名;uid=用户名;pwd=口令"

connect using i_src;
If i_src.sqlcode $#@60;$#@62; 0 then
Messagebox("源数据库连接错误",i_src.sqlerrtext)
Return
End If

i_dst=create transaction
i_dst.dbms=odbc
i_dst.dbparm="Connectstring=DSN=数据库名;uid=用户名;pwd=口令"

connect using i_dst;
If i_dst.sqlcode $#@60;$#@62; 0 then
Messagebox("目标数据库连接错误",i_dst.sqlerrtext)
Return
End If
  在窗口中放置一个按钮用来运行数据管道,在此按钮的Clicked事件中写入如下语句:
i_pipe=create u_pipe_sample
i_pipe.read=st_read
i_pipe.written=st_written
i_pipe.error=st_error
i_pipe.dataobject="Pipe_Sample"

//execute pipe
i_pipe.start(i_src,i_dst,dw_1)

打印本文 打印本文 关闭窗口 关闭窗口