簡體   English   中英

Access 2010 和 SQL Server 2008 R2 錯誤 3157 超時

[英]Access 2010 and SQL Server 2008 R2 Error 3157 Timeout

我有一個大問題。 當 Recordset 應該保存時,我的一個 Access-Apps 失敗了。 要保存的代碼是(按鈕事件):

bolsichern = True
DoCmd.RunCommand acCmdSaveRecord

在我打開一個表格之前。 我更改了一些內容並單擊“保存”按鈕。 x 次保存成功,但在下一刻調試器啟動。 我單擊調試並進入 VBA。 這是黃色的:

DoCmd.RunCommand acCmdSaveRecord

但是當我按 F5 代碼運行時,我的意思是保存成功。 有什么事? 在某些日子里,沒有用戶就這個錯誤打來電話。 又一天,當我想保存時,每次都會出現錯誤。 這意味着 Debug-Windows 打開,我轉到 VBA 並按 F5 並且它可以工作!!!

當錯誤只是偶爾出現時,我如何找到原因?

請幫我 ;-)

謝謝。

素食

更新:

在另一個論壇中,用戶遇到了同樣的問題,也許這個問題比我的更重要:

We have a SQL 2008 R2 standard edition installed on Server 2008. We use an access front-end which connects to a SQL backend tables which are linked with the app.
Since last 2 weeks, we are continuously getting application freeze with the error - ODBC Error 3157: Update to linked table "###" failed
So far I have done the below:
1. Added primary key to the table as it had an identity column only
2. Relinked all the table and redistributed the front-end to the users
3. Ensure SQL files are shrunk
4. Checked network connections connecting the server to the switch
5. Checked SQL configuration manager to ensure right accounts are being used for the SQL services
This issue is very sporadic and it is now becoming frustrating as it has been ongoing for couple of weeks.
Can anyone shed some light on this as I am running out of possible ideas.

我嘗試了所有這些點,但它仍然偶爾不起作用:-(

在您進行保存時,其他用戶是否正在使用該系統? 如果是這樣,並且如果您的表單包含組合框,那么您可能會遇到與我們相同的問題,即組合框的存在導致 Access 鎖定組合框中引用的表,然后在另一個用戶嘗試時導致錯誤寫入或更新組合引用的表。

這意味着,例如,如果有一個組合來選擇銷售行表單上的庫存項目,那么打開銷售行表單將為所有其他用戶鎖定整個庫存表,防止插入/更新/刪除。

我們可以始終如一地執行以下操作來說明問題:

  • 在系統的一個副本上打開一個銷售行 - 該銷售行有一個組合,可以從 Stock 表中查找數據
  • 在系統的另一個副本中打開庫存項目
  • 編輯並保存該庫存項目
  • 此時顯示庫存項目的系統掛起
  • 然后關閉第一個副本上的銷售線
  • 這似乎釋放了 Stock 表上的鎖,因為庫存項目將立即保存在第二個副本上

我們通過創建對股票表的 SQL 傳遞查詢並將其用作組合中的記錄源來解決此問題,而不是像我們以前那樣在 SQL 數據庫中的股票表上使用 Access 鏈接表。 這樣做停止了表鎖定的發生。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM