为什么我不能从多个连接使用相同的db4o文件?

时间:2010-11-20 18:42:27

标签: db4o

我只是使用LockDatabaseFile=false配置值从2个不同的连接连接到db4o数据库文件。

当我从IObjectContainer存储对象时,我无法同时从另一个IObjectContainer获取该对象。我在Store之后提交了事务但是我仍然无法从其他活动的IObjectContainer中立即获得该对象。

有什么问题?

2 个答案:

答案 0 :(得分:4)

db4o不允许多次在写入模式下打开数据库文件。根据您的操作,您将破坏数据库文件。请改用客户端/服务器模式。

答案 1 :(得分:1)

首先,我要说这个选项很危险。它允许两个(或更多)应用程序同时更改db文件:几乎可以保证损坏。

如果我理解正确,你有2个'客户'应用程序打开数据库(使用OpenFile()),对吗?

您是否尝试使用CS模式?

你是如何检查对象存在的?使用查询? (您的查询如何?)

您的配置如何?

最佳