我的要求是多个客户端需要连接到本地HyperSQL 2.2.8并写入。 还将有一个单独的客户端用于在同一台机器上查看。 因此需要将多个编写器客户端和一个读取器客户端连接到本地HyperSQL 2.2.8。 我正在使用hibernate从本地HyperSQL 2.2.8读取和写入。
我像这样运行hsldb作为服务器 java -cp ../lib/hsqldb.jar org.hsqldb.server.Server --database.0文件:mydb --dbname.0 xdb
我的问题是第一个客户端在连接时持有锁。 其他客户无法写信。
感谢您解决此问题的任何帮助。
由于 巴拉
答案 0 :(得分:1)
启动服务器后,使用URL jdbc:hsqldb:hsq://localhost/xdb
连接到服务器。如果阅读器客户端执行长时间运行的查询,则应使用MVCC或MVLOCKS事务模型创建数据库。请参阅指南:http://hsqldb.org/doc/2.0/guide/sessions-chapt.html#snc_tx_tx_cc
答案 1 :(得分:0)
您可以使用属性var miAjax = new Request({
type: "POST",
url: "/multyWeb/actions/maintenance/mUpdateProductAction.php",
contentType: "application/json"
data: {'data':miJSON},
onSuccess: function(textoRespuesta){
console.log("ok");console.log(textoRespuesta);
},
onFailure: function(){
console.log("fallo");
}
})
miAjax.send();
(默认为hsqldb.lock_file=false
)
默认情况下,为每个打开以进行读写的文件数据库创建锁定文件。可以使用值false指定此属性以防止创建锁定文件。建议不要使用此用法,但在使用闪存类型存储时可能需要此用法。此属性适用于现有文件:数据库以及新数据库。