【问题标题】:Can MS Access be Non-blocking, or is this just wishful thinking?MS Access 可以是非阻塞的,还是这只是一厢情愿?
【发布时间】:2015-06-25 21:21:56
【问题描述】:

我注意到,每次我在 MS-Access 中运行查询时,整个界面都会在查询运行期间变得无响应。在我看来,这在很大程度上是阻止行为。

是否有任何一组 API(ODBC、OLE、ADO、ADOX 等)允许对 MS-Access 数据库 (JET) 进行非阻塞访问?我什至会满足于使用 SQL 服务器。

如果可能,是否需要使用特定版本的 JET?

我的猜测是答案是否定的,但我想我还是会问。

【问题讨论】:

  • 编写多线程应用程序并使用您最喜欢的 API(我更喜欢 ADO)在后台线程中执行查询。实际上,ADO 也可以在单线程应用程序中异步执行查询,但我不能确定 MS Access 是否支持这种行为。我认为是:)

标签: database ms-access nonblocking jet


【解决方案1】:

访问是单线程的,因此您的观察是正确的。

但是,多个 Access 实例可以访问同一个(后端)数据库,因此这可能是您的一个选择 - 例如,用于创建长系列报告或导出的报告或导出“引擎”。

【讨论】:

  • 好吧,所以你说我可以创建一个“连接池”,如果我要做的只是从中读取,但如果我想用多个线程写入一个,我会索尔?
  • 不,Access是多用户数据库,最大并发用户数为255。当然,对于密集的写作,现实的数量会更小。
猜你喜欢
  • 2023-03-25
  • 2012-11-13
  • 2014-10-19
  • 1970-01-01
  • 1970-01-01
  • 2013-05-07
  • 1970-01-01
  • 2012-06-23
  • 1970-01-01
相关资源
最近更新 更多