2009-07-08 3 views
0

알 수없는 이유로 ASP의 ADODB.Recordset 개체에서 RecordCount 속성을 읽으려고하면 특정 패턴을 따르지 않는 이상한 데이터 손상이 발생합니다. 내가 찾을 수 있습니다. ASP를 사용하여 Oracle 10g 데이터베이스에 연결합니다. 다음은 내가 사용하고있는 코드입니다. ADODB Recordset.Recordcount corruption with oracle (ASP)

c_objRS.Open strSql, objPage.objCn, adOpenStatic, adLockReadOnly, adCmdText 
DB_ReadListCount = c_objRS.RecordCount 

는 어떤 이유로,이 레코드에서 읽을 일부 CLOB 객체 내가 c_objRS.RecordCount를 호출 할 경우에만 null 값을 반환합니다. 호출하지 않거나 c_objRS.Close를 호출 한 다음 c_objRS.Open을 호출하면 정상적으로 작동합니다. 또한 c_objRS.Requery가 문제를 해결하는 것으로 보입니다.

결과 집합을 열고 닫음으로써 데이터 손상이 어느 정도 두려워서 문제의 테이블을 결국 다시 사용할 수 있기 때문에 다른 쿼리를 다시 실행하고 싶지 않기 때문에이 방법을 사용하고 싶지 않습니다. 꽤 거대해진다. 나는 현재 ODAC 11.1.0.6.21

사용하고

은 어떤 도움이 많이 주시면 감사하겠습니다!

답변

0

MoveNext 또는 MoveLast를 시도한 다음 MoveFirst를 사용하십시오. 도움이 될 것입니다.

0

이 시도 :

If Not c_objRS.EOF Then 
    c_objRS.MoveNext 
    DB_ReadListCount = objRS.RecordCount 
Else 
    DB_ReadListCount = 0 
End If