0

当使用同一 SQL Server 2005 中的两个数据库集成两个应用程序时会出现此问题。两个应用程序在同一台服务器上都有自己的数据库,但我们必须将一些数据从一个数据库传输到另一个数据库。我们正在使用触发器和存储过程来做到这一点。

如果我们使用 SQL Server Management Studio 将数据插入数据库,则不需要 msdtc,但如果我们使用应用程序插入数据,我们会收到错误消息,指出 DTC 未启用。我们无法控制应用程序插入数据。

简而言之,我的问题是为什么在使用应用程序插入数据时需要 msdtc?

注意:触发器不会在数据库之间进行调用,只有存储过程是

4

1 回答 1

0

在很多情况下,可能会间接使用 MSDTC:集群服务器、配置复制、COM+ 的大多数用法等等。

但是,正如@MitchWheat 在评论中已经指出的那样,只要您在单个事务范围内有多个数据库连接,SQL Server 2005(以及 Oracle 资源管理器)就会专门使用 MSDTC。此行为已在 SQL Server 2008 中修复(如果您认为它不便)。

就您而言,这是客户端问题,而不是服务器端问题,但通常都可以。

于 2012-04-05T07:07:26.827 回答