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