我正在运行 Access 2010 FE 和 SQL Server 2005 BE。我可以通过使用 DSNless 连接成功地执行对我的 SQL Server 的查询。
在我的测试阶段,有时我需要恢复我的数据库以恢复我的原始记录,以便我可以重新运行我的查询。我发现当我运行直通查询时,它会在我的 SQL Server 上创建一个活动连接。我通过 MANAGEMENT | 下的 SQL Server 管理控制台看到了连接。SQL Server 日志 | 活动监视器,选择查看进程。在那里,当我运行通过查询时,我可以看到正在使用哪个进程 ID 以及谁在使用它。
现在我恢复数据库的唯一方法是杀死进程,例如活动连接
现在,当我恢复数据库并重新运行直通查询时,我会收到一个 ODBC -- Call Failed 消息框。我试图运行一个程序来刷新我的查询定义,但无济于事,当我单击这些对象时,我仍然会得到 ODBC--调用失败消息框。
现在有两个关于如何解决这个问题的选项,在任何一种情况下,我都觉得这不是用户友好的。
- 重新启动我的访问应用程序
- 等待大约 5-10 分钟以重新运行传递查询
我创建了一个函数来捕获我的 ODBC 错误,如下所示:
ODBC 错误号:0
错误描述:[Microsoft][ODBC SQL Server Driver]通讯链路故障
ODBC 错误号:3146
错误描述:ODBC--调用失败。
因此,如果由于某种原因,当 Access 应用程序当前通过 ODBC 连接时,我需要重新启动我的 SQL 服务器或终止我的 SQL 服务器上的进程(活动连接),通过 ODBC 创建的对象将无法正常执行,直到我执行 2 解决方法解决方案如上所述。
任何人都可以就解决方案提出一些建议吗?我很欣赏任何见解。