【发布时间】:2012-04-04 23:21:59
【问题描述】:
在使用同一 SQL Server 2005 中的两个数据库集成两个应用程序时会出现此问题。两个应用程序在同一台服务器上都有自己的数据库,但我们必须将一些数据从一个数据库传输到另一个数据库。我们正在使用触发器和存储过程来做到这一点。
如果我们使用 SQL Server Management Studio 将数据插入数据库,则不需要 msdtc,但如果我们使用应用程序插入数据,我们会收到错误消息,指出 DTC 未启用。我们无法控制应用程序插入数据。
简而言之我的问题是为什么在使用应用程序插入数据时需要msdtc?
注意:触发器不会在数据库之间进行调用,只有存储过程才是
【问题讨论】:
-
听起来像是 SQL Server 2005 的自动升级问题:stackoverflow.com/questions/1690892/…
-
这可能是问题所在,我在发帖之前阅读了该帖子。我们正在运行此应用程序的客户端环境中进行部署,并且他们没有启用 msdtc。不启用 msdtc 就没有办法工作吗?
-
可能。就像我说的:发布一些代码......
-
虽然我的第一个问题仍然可以作为替代方案,但我尝试从触发器调用存储过程,以将一些数据插入链接服务器中的数据库。两台服务器上的 msdtc 都已启动并允许网络访问。我得到的错误是“链接服务器的 sqlncli 返回消息没有事务处于活动状态”解决此问题需要什么。客户端是windows xp sp2 服务器是windows 2003 server
标签: sql-server sql-server-2005 stored-procedures