0

我有一个 ASP.NET Web 应用程序,它对 SQL Server 2008 R2 中的表进行了一些更改。在这个表上有一个触发器,它在同一数据库服务器上的另一个数据库中的另一个表上进行更新。

保存更改时出现以下错误: - 错误消息:底层提供程序在提交时失败。- InnerException:此 SqlTransaction 已完成;它不再可用。

还允许数据库用户连接到另一个数据库不起作用。

有人知道我怎样才能使这项工作?

4

1 回答 1

0

触发器与实体框架无关。

当对表进行更改时触发器将触发,无论更改来自何处。

这可能是一个权限问题,系统正在尝试使用用于连接到第一个数据库的安全上下文对第二个数据库进行更改。如果由触发器引起的更改失败,那么同一事务中的所有内容都将失败。

由于您在事务中访问 2 个数据库,因此您使用的是 MSDTC,请确保它已启动并且您拥有它的权限。

于 2012-04-05T13:39:16.370 回答