Database MS访问是非阻塞的,还是只是一厢情愿?

Database MS访问是非阻塞的,还是只是一厢情愿?,database,ms-access,nonblocking,jet,Database,Ms Access,Nonblocking,Jet,我注意到,每次在MS Access中运行查询时,整个界面在查询运行期间都会变得无响应。在我看来,这似乎是一种阻碍行为 是否有一组API(ODBC、OLE、ADO、ADOX等)允许对MS access数据库(JET)进行无阻塞访问?我甚至愿意使用SQL server 如果可能,是否需要使用特定版本的JET 我猜答案是否定的,但我想我还是会问。Access是单线程的,所以您的观察是正确的 但是,Access的多个实例可以访问同一个(后端)数据库,因此这可能是您的一个选项-例如,用于创建一长系列报告或

我注意到,每次在MS Access中运行查询时,整个界面在查询运行期间都会变得无响应。在我看来,这似乎是一种阻碍行为

是否有一组API(ODBC、OLE、ADO、ADOX等)允许对MS access数据库(JET)进行无阻塞访问?我甚至愿意使用SQL server

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


我猜答案是否定的,但我想我还是会问。Access是单线程的,所以您的观察是正确的


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

好的,您是说如果我要做的只是从中读取,我可以创建一个“连接池”,但是如果我想写一个有多个线程的数据库,我是SOL?不,Access是一个多用户数据库,最大并发用户数为255。当然,对于密集型编写,实际数量会更小。编写多线程应用程序并使用您最喜欢的API(我更喜欢ADO)在后台线程中执行查询。实际上ADO也可以在单线程应用程序中异步执行查询,但我不能确定MS Access是否支持这种行为。我想是:)