繁体   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