VB 6.0 환경에서 OLEDB 로 프로그래밍을 하고 있는 사람입니다
테이블에 레코드가 1600개 정도 있는데 이를 불러와서 데이터리포트에 연동을 할때 에러가 납니다
에러는 첨부한 파일과 같구요. 여러가지 테스트를 해보니 커서 타입에 따라 증상이 조금씩 틀립니다
큐브리드는 MS-SQL 과 다르게 커서위치를 항상 서버에 두어야 하더군요
Set Rs = New ADODB.Recordset
Rs.CursorLocation = adUseServer
이렇게요. 첨부한 파일과 같은 에러는 커서 타입이 adOpenForwardOnly 일때와, adOpenDynamic 일때 발생합니다
adOpenKeyset 일때와 adOpenStatic 일때는 해당에러가 발생하지 않으나 ORDER BY 한 정렬값이 이상하게 틀어진채로
보여집니다.
adOpenForwardOnly 일때와, adOpenDynamic 일때 에러가 발생하는 창을 무시하면, 정렬도 모두 정상적으로 화면에
보여집니다.
위 문제와 별개로, 타입이 adOpenForwardOnly 일때와, adOpenDynamic 일때 해당 레코드수를 MsgBox Rs.RecordCount
라고 찍어보면, 값이 -1 로 나옵니다
adOpenKeyset 일때와 adOpenStatic 일때는 값이 256으로 나옵니다 데이터는 1630 개입니다
DB는 XP 32BIT 에 3.0 정식으로 깔려 있습니다 DB 생성은 모두 매니저에서 합니다
VB 는 6.0 SP6 입니다
MS-SQL 일때는 아무 문제 없었는데 큐브리드로 작업하니까 머리가 많이 빠지는거 같습니다 ㅠㅠ
이번에 VB로 플젝 하면서 느끼는건데, 큐브리드는 웹용으로 최적화된 DB 가 아닌가 생각해 봅니다
응용 프로그램으로 건드릴려니까 정말 힘드네요 ㅠㅠ
저는 담배를 안피는데, 속이 타서 커피 종이컵수만 쌓여가네요 도와주십시오 ㅠㅠ
안녕하세요.
현재 CUBRID에서는 ODBC, OLEDB 의 모든 스펙을 지원하고 있지는 않으며 90%정도의 스펙커버리지에 주로 사용되는 부분을 위주로 지원하고 있습니다.
말씀하신 것처럼 cursor 는 server-side cursor 만을 지원하고 있습니다.
올려주신 문제는 내부적으로 파악하여 해결방법을 제시해 드리도록 하겠습니다. 혹, 가능하시다면 사용된 소스를 올려주시면 많은 도움이 될 것 같습니다.