首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL Server存储过程向其调用方报告进度,Access (VBA DAO)通过查询

SQL Server存储过程向其调用方报告进度,Access (VBA DAO)通过查询
EN

Stack Overflow用户
提问于 2017-05-29 08:22:05
回答 1查看 466关注 0票数 2

是否有方法让Server存储过程向调用方报告进度?

我有一个由多个步骤组成的复杂任务,并且我有一个存储过程来完成它。我从MS Access前端调用这个存储过程。存储过程大约需要3-4分钟才能完成,在此期间,访问似乎是“挂起”的,等待存储过程返回结果或超时。

我知道我可以把我的存储过程分解成3-4个小块,然后一个接一个地调用它们,在这些步骤之间提供一些反馈。然而,这感觉像是一种解决办法,而不是一种解决方案。

我也不喜欢有四个存储过程而不是一个存储过程,因为我有很多这样的任务,这个路径会将我的30个存储过程(已经很多)转换为50+。

那么,存储过程是否有任何方法可以偶尔以状态或其他方式向调用访问(DAO)报告?

下面是如何调用存储过程:

代码语言:javascript
复制
Dim cdb As DAO.Database, qdf As DAO.QueryDef
Set cdb = CurrentDb
Set qdf = cdb.CreateQueryDef("")
' get .Connect property from existing ODBC linked table
qdf.Connect = cdb.TableDefs("Quote").Connect
qdf.sql = "EXEC INV.ProcessMatchedQueries"
qdf.ReturnsRecords = False
qdf.ODBCTimeout = 300
qdf.Execute dbFailOnError
Set qdf = Nothing
Set cdb = Nothing
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-29 08:59:07

似乎没有好的解决办法。

尝试执行一个SP来完成您的工作(使用dbRunAsync)和另一个SP来接收结果状态。第一个SP应该在某个地方存储执行状态,第二个SP会读取它。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44237779

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档