我知道不建议在网络驱动器上使用Sqlite,原因有两个:性能和由于网络文件系统执行不良导致的数据损坏.
不过,我想探讨使用Sqlite支持具有中央数据库的多用户应用程序的可能性.我们已经在单用户计算机和多个数据库服务器(Oracle,PostgreSQL)上支持Sqlite以进行多用户设置.使用Sqlite进行多用户设置可以方便地在具有Windows共享驱动器(SMB)的现有IT基础架构上进行轻量级安装.
我们不太关心绩效,所以我们愿意为避免腐败付出代价.引用http://www.sqlite.org/atomiccommit.html,第9.1节:
但是,如果必须使用网络文件系统来存储SQLite数据库文件,请考虑使用辅助锁定机制来防止同时写入同一数据库,即使本机文件系统锁定机制出现故障也是如此.
我正在寻找实现这种机制的提示和建议,或者更一般地说,是关于避免Sqlite通过Windows共享驱动器出现问题的提示.
例如,我正在考虑以下大脑死锁方法:在任何(非只读)SQLite查询之前,尝试在同一个共享文件夹上创建一个空文件并保持打开直到查询结束; 通常,任何其他尝试在仍处于打开状态时创建具有相同名称的文件的Windows进程都会阻塞或失败.那会有用吗?还有什么更好的?
我有一个带有 fitDataFill 布局的制表网格。是否可以为某些列设置最大宽度?
[width] 属性似乎设置了一个固定宽度(即使自动布局会根据实际数据分配较小的宽度),[minWidth] 指定最小宽度(也用于交互式列大小调整)。
Tabulator库似乎支持两种模式来设置表的高度:一个显式值(如果数据集中的行不足,则在底部强制“灰色”区域;如果行太多,则强制使用垂直滚动条)或自动模式(调整高度以适合实际数据,不创建滚动条)。
可以使用最大高度,以便在需要时显示垂直滚动条,但是是否可以根据内容调整高度?