2013-03-27 246 views
2

有一個MS Access應用程序與通過ODBC鏈接的MS SQL Server上的表。當連接丟失時,我收到ODBC錯誤3146.物理上恢復連接後,我仍然收到ODBC 3146錯誤。我必須做出像重新連接到服務器的東西。我如何在MS Access中執行此操作?如何在MS Access失敗後恢復ODBC連接

回答

3

我認爲你所需要做的就是刷新表格鏈接。你問如何以編程方式重新鏈接表?您是否嘗試過在刷新鏈接後斷開連接並確認它解決了問題?刷新VBA中的鏈接可能會像

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

您可能需要環通表讓我不知道該指數是否會採取表名,但你可以先嚐試這種方式。

+0

感謝您的回答。是的,這是非常有用的信息,但首先我需要了解究竟是什麼解決了與ODBC的連接問題 - 是否有任何特殊的應用程序方法,如connection.reconnect或.close,然後是.open。項目有大約180個鏈接表,所以刷新鏈接每個都需要很多時間。有另一種重新連接的方式嗎? – 2013-03-27 20:21:26

+0

爲什麼你有180個鏈接表?如果有相似列的表格,只要我是正確的,就可以將這些列與其他表格相關聯。 – user3864563 2015-06-05 06:06:32

0

您的Access表在哪裏引用您的SQL Server?如果您的Access表是本地的,並且您是唯一使用它的用戶,那麼刷新錶鏈接就足夠了。但是,如果Access數據庫駐留在服務器或許多人正在使用的其他共享空間中,那麼如果您使用USER DSN,他們將無法訪問SQL表。設置系統DSN或dsn文件將爲Access提供正在查找的SQL表的位置信息。