【问题标题】:Microsoft Access as SQL Server Front End. Will it fire Triggers?Microsoft Access 作为 SQL Server 前端。它会触发触发器吗?
【发布时间】:2018-06-10 18:47:08
【问题描述】:

我的 SQL Server 需要一个快速的前端解决方案。

我计划创建一些允许用户输入和编辑数据的 Access 表单,因为我的用户没有接受过任何有关如何使用 Access 的培训。

我唯一担心的是他们在 Access 中输入的数据不会触发我的 SQL Server 上的触发器。我过去曾尝试过这样做,每次数据进入表并且触发器永远不会触发。有没有办法通过 Access 启用此功能?

【问题讨论】:

  • 正确。微软访问。当使用 SQLBulkCopy 的本机 SQL 插入和 VB.net 应用程序时,触发器被启用并正常触发。

标签: sql-server ms-access triggers bulkinsert


【解决方案1】:

如果您为特定操作(例如,AFTER INSERT)在表上放置了触发器,则无论发出查询的应用程序如何(例如 MS ACCESS、Sql Management Studio、.NET App),它都应该触发。

但是,如果出现以下情况,触发器可能不会触发:

  • 已禁用
  • 另一个触发器被放置在表上,它在感兴趣的触发器之前触发并且它有一个错误(这将导致事务被回滚并且不运行任何后续触发器)
  • 您正在执行WRITETEXTs (source) 或TRUNCATEs
  • 如果批量插入未指定 FIRE_TRIGGERS 选项 (source)

还要检查是否为您实际执行的操作类型正确定义了触发器(例如,INSTEAD OF DELETE 捕获 UPDATEs)

【讨论】:

  • 感谢您写得很好。
猜你喜欢
  • 2011-10-23
  • 1970-01-01
  • 2022-09-22
  • 1970-01-01
  • 2013-05-25
  • 1970-01-01
  • 2020-07-15
  • 2016-11-03
  • 1970-01-01
相关资源
最近更新 更多