关键:系统对象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)
|