我使用H2进行数据库管理,这就是我想要做的:
我想允许多个用户同时访问数据库.我读过一些关于"MULTI_THREADED = TRUE","LOCK_FILE = NO"和"AUTO_SERVER = TRUE"的内容.我还读到"LOCK_FILE = NO"可能很危险,因为它可能会破坏数据库.我绝对不会想要这个,所以我认为这是一个糟糕的方式.我也尝试在访问记录后立即关闭连接,无论是读取还是写入.到目前为止,似乎没有任何效果.如果数据库已连接到应用程序的单独实例(例如:在另一台计算机上),则应用程序不允许我读取或写入数据库.一旦我在一台计算机上完全关闭应用程序,我就能够访问数据库记录.
如何允许多个用户同时连接到H2数据库而不会影响数据库的安全性?
我正在尝试创建一个URL为"jdbc:h2:test:"的数据库,如H2的网站(此处)"存储的数据库文件在哪里?"中所述.它指出"如果未设置基本目录(如在jdbc:h2:test中,数据库文件存储在启动应用程序的目录(当前工作目录)中.",这正是我想要的.
我收到错误"数据库URL中不允许隐式相对于当前工作目录的文件路径"jdbc:h2:test".使用绝对路径,〜/ name,./ name或baseDir设置相反.[90011-182] 90011/90011".
这个错误是什么意思?为什么我不能使用H2的网站告诉我使用的URL创建数据库?
提前感谢您提供任何有用的答案.
问候,
Ryan Shukis
由于我不会解释的原因(因为人们将在另一个主题上引导他们的回答,而不是我手头的问题),我需要知道如何确定我的H2数据库是否被锁定.使用Java代码,如何确定数据库中是否存在锁定文件?