2014-03-07 2 views
1
I 커넥터를 사용하여 .NET 4.0 SAP 시스템을 연결하고

는 .... 나는SAP 시스템이 .NET에 연결되어 있는지 여부를 확인하는 방법은 무엇입니까?

private void Form1_Load(object sender, EventArgs e) 
    { 
     try 
     { 

      SAPSystemConnect sapCfg = new SAPSystemConnect(); 
      RfcDestinationManager.RegisterDestinationConfiguration(sapCfg); 
      RfcDestination rfcDest = null; 
      rfcDest = RfcDestinationManager.GetDestination("Dev"); 

     } 
     catch (Exception ex) 
     { 

      // MessageBox.Show("ERROR"); 
       label1.text=ex.Message; 

     } 


    } 

아무런 반응이 없습니다 ... 이 내 코드입니다 ..이 연결 여부인지 확인 출원 샘플 창을 만들었습니다 이 코드를 실행할 때 ... 비록 내가 잘못된 사용자 이름과 암호를 응용 프로그램 설정 (구성 파일)에 제공하더라도 예외를 표시하지 않고 양식을로드하는 중입니다 ...

누구나 내 의심을 없앨 수 있습니까? 시스템이 연결되어 있는지 여부를 확인할 수있는 다른 방법이 있습니까?

답변

0

SAP Net Connector는 연결 풀을 사용합니다. 따라서 대개는 연결하거나 연결을 끊지 않으므로 NCo 라이브러리가 대신합니다. 실제로 연결이 필요하면 곧 설정됩니다. 간단히 코드를 테스트하려면 예를 들어 IRfcFunction 인스턴스를 만들 수 있습니다.

연결을 트리거해야합니다. 그러나 일반적으로 SAP 시스템과 통신하기 전에 연결을 열 필요가 없기 때문에 연결을 설정할 수없는 가능성 (잘못된 매개 변수, 시스템 다운 등)에 대비해야합니다. 당신이 할 수있는

+0

예 RFC_READ_TABLE을 사용하고 모든 사항을 검사했지만 SAP 시스템에서 열 이름 만 입력하면됩니다. 더 도움이되지는 않지만 코드를 검색하고 있습니다 –

+0

이것은 기본적인 질문에 답하지 않습니다. OP가 특정 연결이 끊어 졌는지 확인하는 방법을 묻는 것입니다. 읽을 수있는 구성 정의의 IsShutdown 속성이 있습니다. –

0

한 가지 작업이

RfcDestinationManager.UnregisterDestinationConfiguration (sapCfg)를 사용하여 수행 한 후 구성을 등록 취소입니다;

그리고 다시 연결하려고하면 다음 번에 등록하고 사용하십시오.

관련 문제