2014-06-13 1 views
0

우리 iSeries에 액세스하는 .NET 웹 서비스가 있습니다. 웹 서비스가 정지 (LCKW 또는 MSGW)를 초래하는 저장 프로 시저를 호출하면 새 연결을 열 수 없으므로 웹 서비스 시간 초과에 대한 이후 호출이 발생합니다 (아래 코드는 oConnection.Open에서 중지됨). iSeries 작업이 끝나면 문제가 해결됩니다. 내 질문은 중단 된 작업을 사용하려고 시도하지 않고 대신 "열기"에서 iDB2Connection 객체를 가져 와서 새 객체를 여는 것입니다.iDB2Connection 사용 및 잠긴 작업 처리

Using connection = New iDB2Connection("DataSource=DATASOURCE;User ID=USER ID;Password=PASSWORD;Pooling=true;CheckConnectionOnOpen=true;") 

    connection.Open() 

    ... Run Stored Procedure ... 

    connection.Close() 

End Using 
+2

응답을 요청하는 메시지는 무엇입니까? 메시지의 원인을 수정하십시오. – user2338816

+0

아마도 새로운 연결을 열어야 할 것입니다. 'Pooling = true' (그리고'CheckConnectionOnOpen = true')를 가지고 있는데, 이것은 아마도 연결 객체가 캐시 될 수 있습니다 (일반적으로 생성 비용이 비싸기 때문에). 연결 풀의 크기는 얼마입니까? 그것을 증가 시키면 현재 문제를 완화시킬 수 있습니다. 장기적으로, 긴 잠금/대기를 유발하는 원인을 파악하고이를 제거/단축하는 것이 가장 좋습니다. –

답변

0

서버에 어떤 클라이언트 액세스 버전이 설치되어 있습니까? 6 인 경우 맨 위에 최신 서비스 팩을 설치해야하며 문제가 해결됩니다.

+0

V7R1M0. 우리가 필요로하는 서비스 팩이 있습니까? 이 문제에 관한 문서에 대한 링크가 있습니까? – MWLindenbach

+1

나중에 서비스가 있는지 알기 전에 어떤 서비스 수준인지 알고 있어야합니다. V7R1은 버전/릴리스입니다. 아마도 서비스 팩은 도움이되지 않을 것입니다. MSGW는 사용이나 응용 프로그램에서 해결해야 할 문제를 암시합니다. 새로운 연결은 동일한 상태를 얻는 좋은 기회를 가지므로 동일한 상태에서 여러 작업을 수행하게됩니다. – user2338816