我有一个ASP.NET web应用程序,它可以对SQL Server 2008 R2中的表进行一些更改。在该表上有一个触发器,用于更新同一数据库服务器上另一个数据库中的另一个表。
保存更改时,我遇到以下错误:-错误消息:基础提供程序在提交时失败。-InnerException:此SqlTransaction已完成;它不再可用。
此外,允许数据库用户连接到其他数据库也不起作用。
有人知道我该怎么做?
触发器与实体框架无关。
当对表进行更改时,无论更改来自何处,触发器都会触发。
这可能是权限问题,系统正试图使用用于连接到第一个数据库的安全上下文对第二个数据库进行更改。如果触发器引起的更改失败,那么同一事务中的所有内容都将失败。
由于您正在访问一个事务中的两个数据库,因此您正在使用MSDTC,请确保它已启动并且您有权访问它。