我试图像这样压缩我的 Access 2007 数据库:
System.Diagnostics.Process.Start(@"C:\Program Files\Microsoft Office\Office12\msaccess.exe",@"c:\Mydb.mdb /compact ");
在我的 C# 程序中我得到这个错误:
You attempted to open a database that is already opened exclusively by user on machine . Try again when the database is available. (Error 3356)
我尝试了 Conn.close()
但仍然出现错误
提前致谢。
最佳答案
也许连接池是问题所在? 不完全确定连接池的实现位置(我相信这只是提供程序的一部分,例如 SQL 服务器,因此可能与此问题无关) 但是即使连接对象设置为“关闭”,它也会保持客户端和服务器之间的连接打开。 您可以使用 conn.ClearPool 清除 sql server 连接池 您使用什么让提供商连接到您的数据库? (OLEDB?) 如果是这样尝试 ReleaseObjectPool()
关于c# - 如何在我的 C# 程序中断开 Access ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3396461/