在RCP中集成DB4O遇到的问题

在最近的一个RCP项目中,需要使用到DB4O,但是我却遇到了一个很奇怪的问题。
问题如下:
我把数据库的文件context.yap放在项目目录下边,显示自己谢了个带有main方法的测试类,测试时候很顺利,无论是存数据还是写数据都能够正常进行。但是当RCP程序启动的时候,无论如何也读不出数据,也没有任何异常。
问题分析:
经过我的调试,我发现运行RCP的时候是执行了正确的操作的,就是context.yap么有数据,但是我在测试的时候明明有数据的啊?我此时已怀疑是RCP的路径的问题,但是试了各种方法,也没有读出数据。也不是找不到数据库文件,找到了,但是为空!
问题解决;
最后,我查找了DB4O的文档,终于找到问题在那里了。DB4O在执行下面这句的时候:
ObjectContainer db = Db4o.openFile("context.yap");

如果,如果DB4O找不到数据库的文件,就会自己新建一个,而在RCP的环境下,新建的数据库文件就在Eclipse的安装目录下,新建的为空,当然取不出任何数据了。

问题已经解决,希望能对大家有所帮助。而且有不正确的地方希望大家指正!

你可能感兴趣的:(eclipse)