一:环境:1:OA-数据库:一台机器 不装TI/TLQ 只做连接池使用2:tlq、ti-服务器端:一台机器 使用TI连接OA数据库,作为数据的导出端3:tlq、ti、档案数据库:一台机器 使用TI连接DA数据库,作为数据的接收端
主要流程:(TI的组件链)OA:发送数据 SQLSelectSource->TLQSink(进行初始数据的导出) JdbcSqlVisualSource->TLQSink(进行增量数据的导出)DA:TLQSource->JdbcVisualsink(接收数据)
二:步骤
一)OA导出端配置
OA导出端配置(数据库导入导出工具的配置):
1:在第二台机器上,打开数据库导入导出工具,配置数据库别名(OADB),连接OA数据库并初始化2:在资源浏览视图界面中,右键单击,选择新建配置文件(OaSource.props)初始数据的导出配置:3:右键单击配置文件(OaSource.props),选择新建查询源组件(OA_Select)4:双击打开OA_Select,选择要连接的数据库别名(OADB)5:增加数据查询项,配置需要进行初始数据导出的源表的字段,数据对象类型名可是修改为oa_select_do,如果有多表关联,同时配置关联关系增量数据的导出配置:6: 右键单击配置文件(OaSource.props),选择新建导出组件(OA_Export)7:双击导出组件OA_Export,选择要连接的数据库别名(OADB)8:在打开的界面中填写“映射服务名称”,并且增加数据库导出项(OA)9:在打开的OA导出项的界面中,选择数据库别名配置使用的用户名下的要导出数据的表,作为监控表,监控表的作用是监控该表记录的增加,修改,删除,一个导出项只能监控一个表,如果有多表关联,并且需要监控每个表的增量数据,可以配置多个导出项10:然后选择操作类型(insert和update可以作为一个导出项一起配置,但是delete只能单独配置)、选择要作为关联条件(就是SQL语句中的WHERE条件的字段)的字段作为匹配字段,匹配字段一般是表的主键,用来唯一确定一条记录,11:然后选择需要导出记录的字段到右面数据对象导出子界面中,数据对象类型名可是修改为oa_export_do12:如果需要配置关联关系就在右下角配置,多个子集之间是OR的关系,同一子集内是AND的关系13:点击配置文件OaSource.props保存配置文件即可,这时可以看到在配置文件所在的目录中有两个以...Out.xml为后缀(文件命名方式为“文件名_组件名_Out.xml”)的数据对象文件(OaSource_OA_Select_Out.xml,OaSource_OA_Export_Out.xml),这两个文件是导入端需要的数据对象文件
OA导出端配置(AFE编辑器的配置):14:打开配置文件OA.props,可以看到已经有两个组件(一个是SQLSelectSource,一个是JdbcSqlVisualSource),分别选择一个TLQ62Sink组件和这两个组件进行连接,形成两个组件链(处理组件->目的组件->TLQ62Sink),一条链完成初始数据的导出,一条链完成增量数据的导出 SQLSelectSource->TLQSink(进行初始数据的导出) JdbcSqlVisualSource->TLQSink(进行增量数据的导出)15:选中TLQSink组件,配置其属性: TlqRouteRcvQueueName.Default输入:send(发送队列名) TlqRouteExpiry.Default: 消息的超时时间,缺省30秒,可以调大16:点中组件连接框架中的logging组件,在TraceFileName配置选项中填写一个日志文件名,记录运行日志,日志级别可以通过调整LogSetting++配置项17:保存OaSource.props配置文件
到此OA导出端的配置结束!注意在这两个界面之间切换配置时,一定记住要进行界面刷新,否则会冲调另一个界面的配置,数据库导入导出工具刷新方式是选中文件后点击刷新按钮,AFE编辑器刷新方式是重新打开该文件
二)DA导入端配置:
DA导入端配置(数据库导入导出工具的配置):
1:在第三台机器上,打开数据库导入导出工具,配置数据库别名(DADB),连接DA数据库不需要初始化2:在资源浏览视图界面中,右键单击,选择新建配置文件(DaSink.props)3: 右键单击配置文件(DA.props),选择新建导入组件(DA)4:双击导入组件DA,选择要连接的数据库别名(DADB)初始数据的导入:5:在打开的界面中添加数据库导入项(DA_Init)6:在数据对象中选择OA导出端生成的数据对象文件OaSource_OA_Select_Out.xml,(需将此文件放到DA所在的机器上,最好放在工作路径下)7:然后在单表导入子界面中选择操作类型(配置update,更新失败是否插入选择yes)、及进行相关配置(在右面数据库子界面中选择数据库别名配置中的用户名下的需要导入记录数据的表),赋值属性是字段的对应关系,匹配属性在操作类型为update或delete时有用,用来确定需要修改或删除记录的条件增量数据的导入:8:增加数据库导入项(DA_Add)9:在数据对象中选择OA导出端生成的数据对象文件OaSource_OA_Export_Out.xml,(需将此文件放到DA所在的机器上,最好放在工作路径下)10:然后在单表导入子界面中选择操作类型(配置update,更新失败是否插入选择yes)、及进行相关配置(在右面数据库子界面中选择数据库别名配置中的用户名下的需要导入记录数据的表),赋值属性是字段的对应关系,匹配属性在操作类型为update或delete时有用,用来确定需要修改或删除记录的条件11:然后保存此配置文件DaSink.props
DA导入端配置(AFE编辑器的配置):
1:打开配置文件DaSink.props,选择源组件->Tlq62Source,双击此组件添加到右面组件连接框架窗口中,形成的组件链为DA:TLQSource->JdbcVisualsink(接收数据)2:选中Tlq62Source组件,配置其上面的属性 第一个红色属性RcvQueueName输入recv(接收队列名)3:点中组件连接框架中的logging组件,在TraceFileName配置选项中填写一个日志文件名,记录运行日志,日志级别可以通过调整LogSetting++配置项4:保存配置文件DaSink.props
到此DA导入端的配置结束!
三)运行流程
1:分别将2,3台机器上的TLQ的服务都启动并连通
2:然后运行2,3台机器上的TI,使用命令的方式分别运行OaSource.props、DaSink.props(调试时可以使用AFE中的运行按钮,数据量大时建议使用命令方式) 3: 在2台机器上插入数据,去查看3台机器上的数据是否同步被插入
说明:上面用到的队列名称是在TLQ已经配置好的情况下的,已经显示连通状态,如果TLQ中配置信息改变了,要记得重新启动服务TLQ里需要在运行过程中可能需要调整的参数包括:系统中的发送缓冲记录数,接收缓冲记录数, 以及发送队列和接收队列中的消息记录数限制,消息可用空间限制TLQ的运行日志在安装路径下的log目录下的文件TongLink.sys
四)关于90多家OA系统和DA系统之间的数据整合方案1:如果90多家OA系统数据库都能够在网内访问,可以专门使用一台性能好服务器,在这台服务器上配置和这90多家数据库的连接,以及TI的配置,每家OA系统均需要配置两个初始数据和增量数据的导出组件链,均往一个TLQ发送队列中发送数据,注意每个组件链中数据对象名不能同名2:为了方便维护,可以考虑将相近的OA系统导出配置在一个文件中,也可以考虑将所有OA系统的初始数据导出放在一个文件中配置(因为初始数据在系统中只运行一次,以后只有增量数据导出),将增量数据导出放在一个文件中配置。3:另外选择一台服务器,和DA系统数据库进行连接,分别对90多家系统导出的数据对象进行导入配置,不同的数据对象配置一个数据导入项。