为啥我的 MS Access 数据库总是损坏?
Posted
技术标签:
【中文标题】为啥我的 MS Access 数据库总是损坏?【英文标题】:Why is my MS Access database always broken?为什么我的 MS Access 数据库总是损坏? 【发布时间】:2009-10-17 03:05:30 【问题描述】:我编写了一个作为服务运行的程序,它需要经常访问 MS Access 数据库。一段时间后,我的程序自动退出,然后我用Office打开我的MS Access数据库,它说它坏了!
这似乎很奇怪,因为我的程序只做一些非常常见的数据库访问:插入、选择和删除。为什么运行一段时间后总是坏掉?
这里有人遇到过这样的问题吗?任何建议表示赞赏。
【问题讨论】:
在“自动退出”的过程中,你是否优雅地关闭了数据库连接? 我认为您确实需要发布某种错误消息。 请定义损坏,数据库是否损坏?应用程序是否在每次插入或更新时都会失败? 嗨,JTew!我的 Access 数据库已损坏,连 Office 都无法打开。 同意这里的许多想法。我脑海中的一个问题是你如何终止服务,它是否优雅地终止?例如,如果您使用服务控制来停止服务并且它未能在分配的时间内停止,则服务控制管理器会终止该进程。 【参考方案1】:在处理 Access(或 Excel、Outlook...)时,几乎所有此类问题都是由于未正确释放(即清理)资源造成的。
建议您发布您看到的任何错误。
【讨论】:
【参考方案2】:如果程序在没有关闭数据库的情况下终止,Access 不会正常恢复。 Access 使用了一个脏标志,修复功能将重置它(除其他外),但通常情况下,我不建议在需要任何稳健处理的情况下使用 Access。
【讨论】:
嗨,凯德!感谢您的快速回复!你的意思是这个问题是因为程序没有关闭数据库引起的。这个问题还有其他可能的原因吗?除了 MS Access,我别无选择,因为我们的项目是基于 MS Access 数据库的。 是的,如果程序没有关闭数据库。此外,如果在打开文件时网络连接丢失。此外,这可能不是由您的服务引起的,而是某些其他程序或您的程序的另一个实例打开数据库但未正确关闭它。以上是关于为啥我的 MS Access 数据库总是损坏?的主要内容,如果未能解决你的问题,请参考以下文章
打开access出现数据库或项目包含一个对文件“FPDTC.DLL版本1.丢失或损坏的引用”为啥?
MS Access 2003 - 创建 MDE 文件失败:错误 VBA 已损坏?