[RESOLVIDO]Neodatis ODB (atualização de coleções)

Flávio,

coloquei uma versão que deve resolver seu problema :

https://sourceforge.net/project/showfiles.php?group_id=179124&package_id=206744&release_id=561438

Qualquer coisa me avise

Brigadão Oliver!

Vou testar…

Tá ficando bom… Só to com um problema, cada vez que ocorre uma exceção eu termino a execução do programa de força forçada às vezes e vão sendo criados os arquivos db.odb-1197576405078-local 119757640506936111534836820746.transaction. Estive mexendo com os objetos Vendedor, incluindo e excluindo e de repente, em uma inicialização do sistema ocorreu esta exceção, como corrijo a base?

org.neodatis.odb.ODBRuntimeException: 
ODB Release : 407 - 13-12-2007-17-26-32 - th=main
249:Error while reading last object of bean.Vendedor at position 5800
        at org.neodatis.odb.core.io.ObjectReader.readMetaModel(ObjectReader.java:301)
        at org.neodatis.odb.core.io.LocalStorageEngine.init(LocalStorageEngine.java:205)
        at org.neodatis.odb.core.io.LocalStorageEngine.<init>(LocalStorageEngine.java:166)
        at org.neodatis.odb.core.io.StorageEngineFactory.get(StorageEngineFactory.java:36)
        at org.neodatis.odb.main.LocalODB.<init>(LocalODB.java:52)
        at org.neodatis.odb.main.LocalODB.<init>(LocalODB.java:41)
        at org.neodatis.odb.main.ODBFactory.open(ODBFactory.java:63)
        at dao.DbAccess.<clinit>(DbAccess.java:26)
        at dao.ClienteDAO.list(ClienteDAO.java:42)
        at form.DialogEncerrando.refreshTable(DialogEncerrando.java:165)
        at form.DialogEncerrando.<init>(DialogEncerrando.java:31)
        at form.FrameMenu.<init>(FrameMenu.java:27)
        at form.FrameInit.showMainMenu(FrameInit.java:113)
        at form.FrameInit.main(FrameInit.java:88)
Caused by: org.neodatis.odb.core.CorruptedDatabaseException: 
ODB Release : 407 - 13-12-2007-17-26-32 - th=main
206:Object with oid 5800 is marked as deleted
        at org.neodatis.odb.core.io.ObjectReader.getObjectPositionFromItsOid(ObjectReader.java:1605)
        at org.neodatis.odb.core.io.ObjectReader.readObjectInfoHeaderFromOid(ObjectReader.java:585)
        at org.neodatis.odb.core.io.ObjectReader.readMetaModel(ObjectReader.java:299)
        ... 13 more
Java Result: 255

Obrigado

Flávio,

eu acho que o ODB não gosta muito de ficar o tempo todo aberto sem commit nem close.

O arquivo .transaction é a transação corrente que está sendo persistida até o commit.

Vc diz que as vezes vc sai do programa sem dar um close ou rollback é isso? essas exceções (que vc está falando) são do ODB ou do seu programa?

Vc consegue reproduzir este problema?

Se for o caso, me mande por email.

Valeu Flávio

Olá Flávio,

Tentei reproduzir o problema que vc está relatando mas não consegui. Pode me ajudar?

Olá Oliver!

Estas exceções ocorrem quando tento abrir o arquivo, até mesmo no explorer do ODB é lançada esta exceção quando tento abri-lo. Assim que chegar no meu local de trabalho te envio o arquivo pra ti analisar. Sim, todas as vezes que tento abrir o arquivo esta exceção ocorre.

Obrigado. Até logo