SAP Java Connector (SAP JCo) 是JAVA与SAP相互通信的中间件组建。该组建支持双向通讯模式(inbound calls 和 outbound calls )。

JCo支持Connection Pools和Direct两种方式的连接。直接连接需要开发者来控制连接的创建和释放,使用连接池方式可以让池来管理连接的分配、管理和释放,可以最大限度的节省系统开销,相比直接方式优势也是明显的。本文的示例也是使用池方式连接。

安装JCo

到https://service.sap.com/connectors 下载3.0 或 2.1版本的JCo(需要 SAP Service MarketPlace账号),至于用32bit的还是64bit的要根据你的JVM来选择。

怎么查看自己的JVM版本?

-cmd 用 java -version

32位:Java HotSpot(TM) Client VM ....

64位:Java HotSpot(TM) 64-Bit Server VM ....

-或System.out.println("JVM Bit size: " + System.getProperty("sun.arch.data.model"));

-或System.out.println("JVM Bit size: " + System.getProperty("os.arch"));

1、 ZIP包解压到一个目录(像我,如果只是开发Web App,可以选择不安装的。。直接把sapjco3.dll和sapjco3.jar丢到lib目录中就可以了)

2、在PATH环境变量中指定JCo的安装目录

3、CLASSPASS 指定 安装目录\sapjco3.jar

打开 cmd 到安装目录 执行java -jar sapjco3.jar,安装成功你可以看到如下的信息。

以上部分是摘抄与博客:https://blog.csdn.net/ycb1689/article/details/39341099

***********************************************************************************************************************************************

下面部分是我自己实践配置环境的步骤:可能有点不详细,可以参考上面步骤。

windows 环境设置
1.sapjco3.dll 需要与 sapjco3.jar 在同一目录
2.设置系统环境变量,将sapjco3所在目录加入系统环境变量
3.根据自己的操作系统版本选择对应的sapjco3包

32位系统
  例如:
      新建环境变量
          变量名: JAVA_SAPJCO 
          变量值: E:\sapjco3\sapjco3-win32
      将新建的 JAVA_SAPJCO 环境变量加入 系统环境变量 Path变量集合中.
          %JAVA_SAPJCO%\sapjco3.jar

3.项目部署运行
    32位系统 
     将 librfc32.dll 加入到c:/windows/system32/目录 或者 将 librfc32.dll 加入到 JDK/bin 目录下
     将 sapjco3.dll 加入到c:/windows/system32/目录 或者 将 sapjco3.dll 加入到 JDK/bin 目录下
    64位系统
     将 librfc32.dll 加入到c:/windows/SysWOW64/目录 或者 将 librfc32.dll 加入到 JDK/bin 目录下
     将 sapjco3.dll 加入到c:/windows/SysWOW64/目录 或者 将 sapjco3.dll 加入到 JDK/bin 目录下

部署异常问题
如果有找不到异常的办法,就拷贝sapjco64的svcp71.dll、msvcr71.dll到c:/windows/system32/目录尝试(原因百度这些dll文件就可以了)

1.问题
    异常信息 Can't load IA 64-bit .dll on a AMD 64-bit platform
项目编译及运行,根据自己的操作系统版本选择对应的sapjco3包

2.问题
    报错 java.lang.UnsatisfiedLinkError: no sapjco3 in java.library.path   ,
是因为没有找到  sapjco3.dll这个库的路径,安装了JDK的环境中,这个库默认的位置不是在system32下,而是在 JDK/JRE/BIN下面。

sapjco3 开发环境设置
1.开发中需要将sapjco3.jar加入到项目的build path中
2.或者将其加入 本地 maven 库
mvn install:install-file -DgroupId=org.hibersap -DartifactId=sapjco3 -Dversion=3.0 -Dpackaging=jar -Dfile=E:/sapjco3/sapjco3-win32/sapjco3.jar
用以替换 org.hibersap 加载项下载的文件
<dependency>
    <groupId>org.hibersap</groupId>
    <artifactId>sapjco3</artifactId>
    <version>3.0</version>
</dependency>

***********************************************************************************************************************************************

Linux java 环境设置(没有配置过)

可以参考网上的博客,由于找不到该链接的博客地址。直接给参考内容如下:

1.创建目录
mkdir /usr/java
2.把下载的rpm文件copy过去
cp jdk-8u161-linux-x64.rpm /usr/java/
3.进入目录
mkdir cd /usr/java
4.添加可执行权限
chmod +x jdk-8u161-linux-x64.rpm
5.执行rpm命令安装
rpm -ivh jdk-8u161-linux-x64.rpm
6.查看是否安装成功
java -version

Linux sapjco3 环境设置

1.解压 sapjco3-linux64 或 sapjco3-linuxintel-3.0.5 
      当前生产环境 centos_X64_32 系统使用的是 sapjco3-linux64 
2.将sapjco3.jar 文件复制至  $JAVA_HOME/lib/sapjco3.jar 
3.将 libsapjco3.so 文件复制至 $JAVA_HOME/jre/lib/amd64/server/libsapjco3.so
4.设置环境变量
    vim /etc/profile 修改文件
    JAVA_HOME=/usr/local/java
    PATH=$PATH:$JAVA_HOME/bin
    CLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/sapjco3.jar
    JRE_HOME=$JAVA_HOME/jre
    LD_LIBRARY_PATH=dir:$LD_LIBRARY_PATH:$JAVA_HOME/jre/lib/amd64/server
    export JAVA_HOME LD_LIBRARY_PATH PATH
5.刷新配置
    source /etc/profile
    
6.配置本地 hosts 将主机名字映射到IP地址
    1.控制台执行  hostname 命令查看计算机名 
    2.控制台执行 hostname -i 查看本机IP 
    3.编辑hosts文件  vi /etc/hosts
    4.在 /etc/hosts中 加入
      192.168.1.10(本机IP) localhost hostname(计算机名)

建立  Jco Serever 监听服务时相关设置  
    windows jco 监听设置
    进入 %SystemRoot%\System32\drivers\etc
    1.修改 services文件,在services文件尾部 将  jco.server.gwserv:sapgw00 属性值 sapgw00 加入 SAP 端口映射
      sapdp00  3200/tcp #SAP Server
      sapgw00  3300/tcp #SAP Gateway
    2.修改 hosts文件,在 hosts中 将 jco.server.gwhost:gmdev01  属性值  gmdev01 加入 SAP服务器IP 地址映射
      10.86.95.121       gmdev01
    3.具体示例
           参考项目目录内的 services/hosts 文件 
    .
    linux jco 监听设置
     1.执行  vi /etc/hosts
              修改 hosts文件,在 hosts中 将 jco.server.gwhost:gmdev01  属性值  gmdev01 加入 SAP服务器IP 地址映射
       10.86.95.121       gmdev01
     2.执行 vi /etc/services
              修改 services文件,在services文件尾部 将  jco.server.gwserv:sapgw00 属性值 sapgw00 加入 SAP 端口映射
       sapdp00  3200/tcp #SAP Server
       sapgw00  3300/tcp #SAP Gateway

linux 下运行
运行
nohup java -jar test.jar >test.txt &
nohup java -XX:-UseGCOverheadLimit -jar test.jar >SYNC_$(date +%Y%m%d%H%M%S).txt &
查找进程
ps -aux|grep test
结束进程
kill -s 9 "pid"

下载相关jar包和dll文件已经上传到:https://download.csdn.net/download/qq_36026747/10576451

JAVA使用JCo连接SAP介绍-1相关推荐

  1. JAVA使用JCo连接SAP介绍

    SAP Java Connector (SAP JCo) 是JAVA与SAP相互通信的中间件组建.该组建支持双向通讯模式(inbound calls 和 outbound calls ). JCo支持 ...

  2. Java使用Jco连接sap详解

    SAP的R/3系统与Java平台一样有着许多类似的技术理念,以及同样广泛的企业级用户,但是它们完全是两个不同的世界.当用户面临流程 或者数据整合方面的需求的时候,就迫切需要一种高效的方式,在R/3系统 ...

  3. JAVA通过JCO连接SAP例子

    1.把librfc32.dll,sapjcorfc.dll 放到服务器的系统的c:\windows\system32目錄下 (不然会报错:sap Field IT_TABLnot a member o ...

  4. java使用jco连接sap调用rfc函数,环境配置+代码

    Windows环境配置 1.将sapjco3.jar引入 2.配置sapjco3.dll文件 32位系统:将sapjco3.dll放到C:\Windows\System32下  或者放到jdk/bin ...

  5. JCO连接SAP例子

    JCO连接SAP例子 SAP JCo(SAP Java Connector,SAP Java连接器)是SAP组件和Java应用程序之间的中间件和接口实现机制. JCo基于JNI(Java Native ...

  6. java使用JCO调用SAP接口

    博客参考:http://blog.csdn.net/jay_1989/article/details/51821069 (可以说我是基本照抄,所以本篇博客为转载) 其实在写这篇博客之前,已经有很多前辈 ...

  7. java jco连接sap帐号权限设定,Java连接SAP的JCO调用RFC配置

    第一步:下载librfc32.dll和sapjcorfc.dll文件,版本分别为6405.5.132.5092 - 6400.132.12.49905 第二步:将下载的两个DLL文件放在的window ...

  8. pajek软件使用方法_使用Jco远程连接SAP软件系统方法

    作者:JongWill声明:本文章仅用于SAP软件的应用与学习,不代表SAP公司.(注:文中所示截图来源SAP软件,相应著作权归SAP所有.)SAP公司的ERP系统是一套成熟的套装软件,它是博大精深的 ...

  9. SAP Java Connector(JCo)

    SAP Java Connector(JCo)      JCo是一个高性能的,基于JNI的中间件,它实现了SAP的RFC(Remote Function Call)协议. 1.JCo的安装 从 ht ...

  10. [SAP]JCO连接错误配置日志之无路由

    当连接SAP时,有防火墙且需要配置Router信息(DestinationDataProvider.JCO_SAPROUTER ,jco.client.saprouter),而没有配置,将报如下错误: ...

最新文章

  1. [bzoj 4199][NOI 2015]品酒大会
  2. tomcat出现5个using_出现急性心梗,要当心5个并发症,一个都不好惹!
  3. Selenium + WebDriver 各浏览器驱动下载地址
  4. Android View系列(二):事件分发机制源码解析
  5. 每天一个Linux命令-ls
  6. linux查看串口端口,规范模式Linux串行端口
  7. 函数节流(throttle)与函数去抖(debounce)
  8. NYOJ67 - 三角形面积
  9. windows下的wxWidgets环境配置
  10. 学生签到系统c代码_C语言之学生管理系统代码(完整)
  11. PADS2007破解方法之图文并茂版----本人亲自实践
  12. STM32F407——串口通信
  13. 数据分析师的薪资怎么样?
  14. c语言有flag的程序,c语言flag(编程flag的用法)
  15. java辛普生公式_Java – Simpson的方法和错误
  16. 马上就要十一大长假了!还没订好机票?用Python写了一个钉钉订低价票脚本!
  17. 分布式系统关注点——「负载均衡」到底该如何实施?
  18. tplink查看上网记录_tp-link路由器如何查看连接人数 tp-link路由器查看连接人数方法【步骤】...
  19. Python 打地鼠小游戏
  20. 简单对象协议(SOAP)简介

热门文章

  1. c语言 圆周率10000位,计算圆周率 Pi (π)值, 精确到小数点后 10000 位(C语言)
  2. 维修涉及行业2021-11-15
  3. 在不受支持的 Mac 上安装 macOS Ventura、Monterey、Big Sur (OpenCore Legacy Patcher)
  4. VC网络编程实战视频教程
  5. CImage类进行图像处理1(基础篇)
  6. 电力线载波通信(PLC)简介
  7. 两款WiFi无线网络扫描工具软件 WirelessMon Xirrus WiFi Inspector
  8. 随机过程之更新理论的应用
  9. 人工智能导论期末复习题
  10. FastStone Capture—屏幕录像