none
예외_사항_발생:_'Rs.Recordcount'이란 쿼리 실패 이후 해당 iis 서버에 요청되는 모든 쿼리가 실패합니다 RRS feed

  • 질문

  • 예외_사항_발생:_'Rs.Recordcount'이란 쿼리 실패 이후 해당 iis 서버에 요청되는 모든 쿼리가 실패합니다

    환경:

    여러대의 복제 IIS 5.0 웹서비스를 이용하여 Oracle DB의 데이터를 불러오는 서비스를 운영 중입니다.

    증상:

    특정 asp파일에서만 발생되는 예외_사항_발생:_'Rs.Recordcount'이란 쿼리 실패 오류가 발생하면 발생된 해당 서버에 요청된 모든 다른 쿼리 요청이 실패합니다.

    그 이후 해당 서버의 IIS 서비스를 재 시작하면 다시 정상적으로 쿼리 요청을 처리합니다.

    다시 장애가 생기게 하는 특정 asp파일에서 예외_사항_발생:_'Rs.Recordcount' 쿼리 실패가 발생되면 다시 같은 증상이 반복됩니다.

    궁금증:

    예외_사항_발생:_'Rs.Recordcount'오류가 발생하는 Rs.Recordcount라는 요청은 레코드의 수를 세는 쿼리 명령인데요. 이게 이처럼 심각한 장애를 유발하는 이유를 모르겠구요. 

    이에 대한 해결책이 있는지 궁금합니다.

    2016년 1월 3일 일요일 오전 6:44

답변

  • 자문 자답인데 이건 찾아 냈네요.

    Recordcount에서 배열이 잘못되거나 유실된 DB 데이터를 가져올 경우 오류가 발생하고 계속해서 잘못된 값을 DB에 요청해서 DB 커넥션이 갑자기 증가하고 asp 버퍼 4메가짜리 변수가 급격히 증가하면서 발생했습니다.

    recordcount는 다음 두가지를 주의하라고 합니다.

    1. 배열이 잘못될 경우

    2. DB에서 유실된 데이터를 가져올 경우

    이 2가지에 대하여 예외 처리를 해 주라고 권고 되어 있습니다.

    참조>IIS-CONN-ORA-001078E

    http://www-01.ibm.com/support/knowledgecenter/SSZJPZ_11.3.0/com.ibm.swg.im.iis.conn.oracon.msg.doc/topics/IIS-CONN-ORA-001078E.html?lang=ko

    아래 2가지를 Source cord에서 수정해야 합니다.

    1. 레코드 수 특성의 값과 배열 크기 특성의 값이 동일한지 확인하십시오.

    2. 연결이 유실되었을 때 커넥터가 다시 연결하지 않게 하려면 다시 연결 특성을 아니오로 설정하십시오.

    참조>There is no RecordCount property when you use the OleDbDataReader class or the SqlDataReader class in Visual Basic .NET

    https://support.microsoft.com/en-us/kb/308050

    • 답변으로 표시됨 GOZLING 2016년 2월 1일 월요일 오전 12:53
    2016년 2월 1일 월요일 오전 12:46