Microsoft Access 作为 SQL 服务器前端。它会触发触发器吗?
Microsoft Access as SQL Server Front End. Will it fire Triggers?
我的 SQL 服务器需要一个快速的前端解决方案。
我计划创建一些允许用户输入和编辑数据的 Access 表单,因为我的用户没有接受过任何有关如何使用 Access 的培训。
我唯一担心的是他们在 Access 中输入的数据不会触发我 SQL 服务器上的触发器。我过去曾尝试这样做,每次数据进入 table 并且触发器永远不会触发。有没有办法通过 Access 启用此功能?
如果您为特定操作(例如插入后)在 table 上放置了触发器,则无论发出查询的应用程序如何(例如 MS ACCESS、Sql Management Studio),它都应该触发, .NET 应用程序)。
但是,如果出现以下情况,触发器可能不会触发:
- 已禁用
- 另一个触发器放在 table 上,它在感兴趣的触发器之前触发并且有错误(这将导致事务被回滚而不是 运行 任何后续触发器)
- 您正在执行 WRITETEXTs (source) 或
TRUNCATE
s
- 如果批量插入未指定
FIRE_TRIGGERS
选项 (source)
还要检查是否为您实际执行的操作类型正确定义了触发器(例如 INSTEAD OF DELETE
以捕获 UPDATE
s)
我的 SQL 服务器需要一个快速的前端解决方案。
我计划创建一些允许用户输入和编辑数据的 Access 表单,因为我的用户没有接受过任何有关如何使用 Access 的培训。
我唯一担心的是他们在 Access 中输入的数据不会触发我 SQL 服务器上的触发器。我过去曾尝试这样做,每次数据进入 table 并且触发器永远不会触发。有没有办法通过 Access 启用此功能?
如果您为特定操作(例如插入后)在 table 上放置了触发器,则无论发出查询的应用程序如何(例如 MS ACCESS、Sql Management Studio),它都应该触发, .NET 应用程序)。
但是,如果出现以下情况,触发器可能不会触发:
- 已禁用
- 另一个触发器放在 table 上,它在感兴趣的触发器之前触发并且有错误(这将导致事务被回滚而不是 运行 任何后续触发器)
- 您正在执行 WRITETEXTs (source) 或
TRUNCATE
s - 如果批量插入未指定
FIRE_TRIGGERS
选项 (source)
还要检查是否为您实际执行的操作类型正确定义了触发器(例如 INSTEAD OF DELETE
以捕获 UPDATE
s)