经常压缩和修复访问数据库是否安全?



我有一个访问数据库,我使用传递查询填充它。
我从 SQL 数据库中获取特定数据并将其转储到 Access 上。
此 Access DB 每周更新一次,但我不能简单地附加前一周的新数据,因为过去所有其他几周也会更新。

我所做的是截断访问数据库,然后再次加载所有内容。
当我这样做时,我需要压缩和修复数据库,以便大小不会膨胀。

我的问题是,这样做可以吗?目前,我正在使用此答案中发布的逻辑。
我还没有遇到任何问题,但我只是想确保并让我们的访问大师考虑一下。此外,我计划在我们的服务器上进行计划运行以完成任务。
只需要确保它不会轻易损坏(首先损坏文件的可能性有多大?

如果你会问,我为什么要这样做?数据用户在 SQL 服务器上没有访问权限。
因此,我必须为他们拉取数据,以便他们可以连接到 Access DB。

以防万一您需要代码:

Dim sqlDelete As String
Dim sqlAppend As String
sqlDelete = "DELETE * FROM dbo_Table;"
sqlAppend = "INSERT INTO dbo_Table (Col1,Col2) SELECT Col1,Col2 FROM passThrough;"
With DoCmd
.SetWarnings False
.RunSQL sqlDelete
.RunSQL sqlAppend
.SetWarnings True
End With
Application.SetOption "Auto Compact", True

如果您需要截断数据并再次加载,我建议移动所有表,这些表应该被截断,并将所有临时表移动到单独的数据库中。 分离后,可以在应用程序启动时通过空数据库文件将此数据库替换为不必要的数据。只需保存空数据库的副本,并将此文件复制到包含旧数据的现有数据库上。这应该在打开基于临时数据库中的表的任何表单/记录集之前完成。它每次都比C&R工作得更快,更可靠,因为有时C&R可能会损坏文件。

模板数据库文件也可以存储在主数据库中的备注字段中

我将参考这个论坛帖子:http://www.utteraccess.com/forum/index.php?showtopic=1561733

最新更新