개발

Sap - Jco 를 통한 function 호출

빠빠담 2020. 12. 9. 00:35
반응형

 

회사 프로젝트중에 외부 연동으로 Sap function 호출이 필요해서 Jco를 알아보게 되었다.

몇가지 삽질에 대한 정리를 하고자 한다.

 

IBM AIX 서버: libsapjco3.so, sapjco3.jar
HP-UX11 서버 : libsapjco3.sl/so, sapjco3.jar
Linux  서버 : libsapjco3.so, sapjco3.jar
Oracle Solaris 서버 : libsapjco3.so, sapjco3.jar
Microsoft Windows 서버 : sapjco3.dll, sapjco3.jar

IBM iSeries 서버 : libicudata34.a, libicui18n34.a, libicuuc34.a, libsapjco3.so, os4apilib.so, sapjco3.jar

 

1. libsapjco3.so

 

로컬 개발은 윈도우로 진행하여 sapjco3.dll를 System32에 추가하여 진행하였다.

문제는 리눅스로 와서 문제가 되었다.

 

sapjco3.so를 두고 

export LD_LIBRARY_PATH= libsapjco3.so 파일이 있는 디렉토리 위치

-Djava.library.path= libsapjco.so 파일이 있는 디렉토리 위치

모두 시도했으나 실패하였다.

 

답은 파일 이름이 sapjco3.so로 두는것이 아니라 libsapjco3.so로 설정해야했다.

위의 서버별 라이브러리 리스트를 확인하고 맞는 라이브러리와 파일명을 설정하자.

또한 sapjco.jar 파일과 동일한 위치에 두면 따로 환경변수 설정이 필요 없다고 한다.

 

음 다시 확인해본 결과 파일 실행 권한이 답이었던것 같다

실행 권한을 주고 라이브러리 경로에 위치시키고 확인 해보자

 

아닌거 같은데 아 도데체 뭔지 모르겠다 ㅠㅠ

 

아니 나는 진짜 바보다 도커에 스프링을 띄웠는데 왜 호스트 os에 라이브러리 설정을 하고 있을까 ...

도커파일에서 라이브러리를 카피해서 라이브러리 폴더에 설정해주니 잘된다 ...

 

오늘도 내일도 삽질의 연속이다.

 

 

2. 참고 사이트 및 라이브러리

 

http://maven.mit.edu/nexus/content/repositories/public/com/sap/conn/jco/sapjco3/3.0.14/

jar 파일과 so,dll 등 라이브러리를 다운받자

 

https://github.com/saro-lab/sap-jco-manager

https://gs.saro.me/dev?tn=562

나 같이 sap를 메인으로 사용하는게 아니라 잠깐 프로젝트용으로 사용하는 사람을 위해

jco 를 사용하기 편하게 정리해두신 분이 있어서 해당 라이브러리를 추가적으로 사용하였다.

 

반응형

'개발' 카테고리의 다른 글

Java RSA crypto  (0) 2020.12.26
ERR_RESPONSE_HEADERS_MULTIPLE_CONTENT_DISPOSITION  (0) 2020.12.24
Redmine 운영 3 - agile  (0) 2020.12.07
Redmine 운영 2 - Slack 연동  (0) 2020.12.07
Redmine 운영 1 - 설치  (0) 2020.12.07