场景:你有两个转换文件(ktr),连接同一个数据库。那么,这个数据库信息最好保存在唯一的一个地方。
答案是这个唯一的地方是shared.xml文件中。
方法:
1.在一个转换文件中新建DB连接
2.右键这个DB连接——>“共享数据库连接”,你会发现这个数据库信息已经保存在C:\Documents and Settings\Administrator\.kettle\shared.xml文件中了(我的电脑用户是Administrator),把这个文件拷贝出来,作为备份。
3.在第二个转换文件中已经可以引用这个共享了的连接了,尽情滴使用它吧。
4.在每一个转换文件中,右键这个DB连接——>“删除”,这样,你的转换文件中就没有数据库连接信息了!
5.在运行环境中,在你的程序中加上这行代码 :System.out.println( Const.getKettleDirectory() + Const.FILE_SEPARATOR ); ,根据它输出的路径,把备份出来的shared.xml丢进去。
ps:因为我是反复尝试试通的,所以上述的步骤可能不那么严谨。但你了解“共享信息保存在shared.xml文件中”以及“删掉每个转换文件中的DB连接”这两点,就可以尝试成功。
我可能还是描述的不太清楚,表达能力有限,呵呵。