我有一个用 Java 编写的简单服务器,它为我的客户端应用程序提供来自访问数据库 (.accdb) 的数据
数据来自数据库中的查询,该查询将来自链接的 Excel 工作簿 (.xlsx) 中的多个工作表的数据组合在一起
这没有成功,因为所有者需要定期更新 excel 工作簿,并且数据库需要恒定的正常运行时间,并且当数据库打开时,excel 会锁定文件。
所以为了规避这个问题,我将数据库更改为运行工作簿的副本。我编写了一个批处理脚本来杀死 java 服务器,从而关闭与数据库的连接并解锁复制的 excel 工作簿。然后它将原始内容复制到复制的文件位置,并重新启动服务器,从而更新数据库中的数据。我将 Windows 任务计划程序设置为每天运行此批处理文件。
马虎的解决方案,但它的工作。或者我是这么想的。批处理文件只运行一次,从那以后就没有运行过。
因此,在我为此扔另一个创可贴之前,我想我会在这里问。当特定用户需要访问文件时,是否可以设置原始 Excel 工作簿以关闭所有连接?如果我能做到这一点,我所要做的就是让我的服务器在断开连接后尝试重新连接,这应该不难。