kettle实战-3Kettle数据处理-3.1数据输入-3.1.1SAP输入

  一些大型企业内的系统集成中,经常遇到需要与SAP ERP系统进行集成,有些企业购买了SAP的PI集成中间件产品,那对于接入SAP系统就会轻松一些,PI作为一款ESB产品,对于服务的支持是非常好的,但对于一些企业没有上PI,或者传输数据比较大时,走WEB服务显然就不适合了,通常我们会想到直接走数据库底层,但SAP这类大型ERP系统都是不开放底层数据库表的,就算给你看,你也很难能看懂,己经完全被编码化了。SAP提供了另一个应用接入方式,JAVA语言是JCO方式,.net也有相应方式,kettle的SAP输入节点,就是利用JCO的方式与SAP系统时行交互的。
首先,你需要拷入两个JCO驱动文件,sapjco3.dll,sapjco3.jar放入kettle的lib目录下,(注意linux系统请拷入sapjco3.so文件,相关文件需要在SAP官网下载),配置相关信息即可连接成功。


  输入RFC函数名,点击搜索,选中找到的函数,(如果找不到,要联系SAP顾问,可能是没有激活)确定后,会自动关联出输入和输出,注意:输入输出的自动关联有时不准,如果报错要手工自行调整。输出结构不能同时有两种,包含了kettle也会提示,如下图:


  这个好理解,kettle的步骤间移动是一个二维结果集,如果出现两种结构就不知道输出哪个了。现在就可以从SAP系统中高效的交互了。
  SAP的节点己经在新的kettle版本中变为不推荐步骤了,可见还是有些问题的,不过没关系掌握之后就不是问题,这里再补充几个需要注意的事项:
  1、    不支持SAP组登录,需要更改源码
  2、    SAP输入节点建立一个源后,会在根目录生成一个XXX.jcoDestination类似这样的文件,里面包含了配置信息,如果更改了配置信息,如IP地址、用户名之类的,记得删除这个XXX.jcoDestination文件,让kettle再次自动生成,以免有时未更新而报错。
  3、    输入和输出都不能同时支持两种结构
  4、    默认些节点是单条传输,如果要多条批量传输,需要将数据用;分号连接传输
  SAP输入节点一报错,基本都一样,全是dll之类的问题,不要急要慢慢分析上面的内容,总之需要动手能力较强,如有问题欢迎留言,或者询问onemysofe.com。

相关推荐
©️2020 CSDN 皮肤主题: 精致技术 设计师:CSDN官方博客 返回首页