2

有一个 MS Access 应用程序,其中包含通过 ODBC 链接的 MS SQL Server 上的表。当连接丢失时,我收到 ODBC 错误 3146。在物理上恢复连接后,我仍然收到 ODBC 3146 错误。我必须重新连接到服务器。我如何在 MS Access 中做到这一点?

4

2 回答 2

3

我认为您需要做的就是刷新表格链接。您是否在问如何以编程方式重新链接表格?您是否尝试在断开连接后刷新链接并验证它可以解决问题?刷新 VBA 中的链接类似于

Dim db as Database
Set db = Currentdb()
db.TablesDefs(1).RefreshLink

您可能必须遍历表以获取索引我不确定它是否会采用表名,但您可以先尝试这种方式。

于 2013-03-27T17:30:57.987 回答
0

参考 SQL Server 的 Access 表在哪里?如果您的 Access 表是本地的并且您是唯一使用它的人,那么刷新表链接就足够了。但是,如果 Access db 位于服务器或其他许多人使用它的共享空间上,如果您使用的是 USER DSN,他们将无法访问 SQL 表。设置系统 DSN 或 dsn 文件将为 Access 提供它正在寻找的有关 SQL 表所在位置的信息。

于 2013-03-27T20:57:49.143 回答