2010-02-26 11 views
3

우리의 소프트웨어는 C#으로 작성되었으며 SAP에 연결해야합니다. 고객 중 일부는 이전 버전의 SAP를 사용하고 다른 일부는 SAP PI가 없기 때문에 웹 서비스를 통해 연결할 수 없습니다.SAP NetWeaver RFC 라이브러리 (sapnwrfc.dll)를 통해 C#에서 SAP에 어떻게 연결할 수 있습니까?

  • 이 NWRFC_6-20004550.SAR (인 icudt34에서 sapnwrfc.dll 다른 DLL을 추가 : 다음과 같이

    본인은 SAP 넷위버 원격 함수 호출 라이브러리 (sapnwrfc.dll)를 통해 SAP에 연결을 시도 .dll, icuin34.dll, icuuc34.dll, libicudecnumber.dll 및 libsapucum.dll) 을 C : \ WINDOWS \ system32에 복사하여 찾을 수 있는지 확인하십시오. 내 C# 코드에서
  • 추가 한 클래스 정의에 다음
            [같이 DllImport ("sapnwrfc.dll"charset에서 = CharSet.Auto)]
            공공 정적 통근 무효 RfcInit() ;
    및 작업을 수행하는 메소드에 다음 :
            RfcInit를(); 이 코드를 실행

은 DllNotFoundException을 제공합니다 : DLL 'sapnwrfc.dll'를로드 할 수 없습니다
:이 응용 프로그램은 응용 프로그램 구성이 올바르지 않기 때문에 시작하지 못했습니다. 응용 프로그램을 다시 설치하면이 문제가 해결 될 수 있습니다. (HRESULT에서 예외 : 0x800736B1)

표준 실행 연결 --C에 ++ -에서 - C# 예제
        [같이 DllImport ("USER32.DLL"charset에서 = CharSet.Unicode)]
        public static extern int MessageBox (IntPtr hWnd, 문자열 텍스트, 문자열 캡션, 단위 유형);
        MessageBox (새 IntPtr (0), "Hello World!", "Hello Dialog", 0);
잘 처리됩니다.

JCo를 사용하여 Java 프록시를 작성하여이 문제를 해결할 필요가 없도록이 작업을 올바르게 수행하는 방법에 대한 제안 사항이 있습니까?

+0

좋은 질문 - 잘 모르겠다. 죄송합니다. RFC에 추가로 태그 지정. Java 폴백에 대한 도움이 필요하면 – vwegert

답변

2

일부 DLL이 누락 된 경우 종속 뷰어를 확인 했습니까? 나는 한 번 rfc 라이브러리 (적어도 그것의 일부)에 대한 관리되는 래퍼를 작성하고 내가 다운로드 한 rfc 라이브러리 중 일부에 문제가 있음을 기억한다. 하나의 버전은 단순히 작동하지 않았고 나는 무엇이 잘못되었는지를 파악하지 못했습니다. 다른 버전 (이전 버전)은 정상적으로 작동했습니다. 다시는 이런 일을해야한다면,

...

나는 그러나 (무작위로 나타나 일부 메모리 액세스 문제를) 유니 코드 라이브러리에 문제가 않았다 그래서 나는 비 유니 코드 버전으로 전환했다 커넥터를 구입하는 것이 매우 중요합니다. http://www.theobald-software.com/en/products/erpconnect.htm

나는 그것이 좋은지는 말할 수 없지만 지금은 잠시 동안 주변에있는 것처럼 보입니다.

1

단순히 SAP의 ".NET Connector"(NCo3)를 사용하지 않는 이유는 무엇입니까? 다운로드 페이지 및 문서에 대한 링크는 SAP 노트 856863을 참조하십시오.

+0

SAP에 2010 년 2 월에 NCo3을 아직 게시하지 않았기 때문에 물어볼 수 있습니까? ;) – Trixx

+0

흠, 그럴만한 이유가 있을지도 모른다. ..;) 그러나 나는 오늘 이것을 읽고있는 사람들에게 내 의견을 남기는 것이 더 좋다. – Lanzelot

+0

좋습니다. 설득력이 있습니다. 당신의 유머 감각 (물론 정답)에 대한 나로부터의 하나의 upvote. :) – Trixx

관련 문제