2017-12-29 28 views
0

berkeleyDB 형식의 파일에서 행을 읽는 데 문제가 있습니다. 나는 db_dump 유틸리티를 사용하여 파일에있는 내용을 보여 주었고 항목이 많았지 만 코드를 통해 시도 할 때 커서 (하나의 키와 4 바이트의 데이터)에서 한 행만 가져옵니다.C#에서 BerkeleyDB 데이터베이스 행 읽기

db_dump를 출력 : 내가 무슨 잘못을

VERSION=3 
format=bytevalue 
database=main 
type=btree 
db_pagesize=8192 
HEADER=END 
0573262135f0b02634966b36b10c53c58fc6c3a2b8fff9e125be6ac3246..... (hundreds of lines) 
DATA=END 

어떤 생각을하고있을 수 있는가?

답변

0

커서의 데이터를 읽으려면 데이터베이스 이름을 전달해야합니다.

, 내가 원래 커서를 사용하는 경우에만 데이터베이스 헤더를 반환 한 다음 사용 된 데이터베이스를 열 때 :

db = BTreeDatabase.Open(filename, dbConfig, txn); 

내가 사용되어 있어야합니다 :

db = BTreeDatabase.Open(filename, "main", dbConfig, txn);