Business Objects XI 默认执行分布式事务 - 如何关闭?

发布于 2024-07-26 19:52:48 字数 927 浏览 5 评论 0原文

我有一个 Business Objects Web Intelligence 报表,它正在对两个数据库执行分布式查询。

当我运行此包含 BEGIN DISTRIBUTED TRANSACTION QUERY

SET xact_abort ON
的查询时 去
使用管道2

开始分布式交易
从 [CQSR_PROD].CqUSer.Cq4User1.Defect
中选择 * 提交 TRAN
GO

我收到此错误:

服务器:消息 7391,级别 16,状态 1,第 2 行 无法执行该操作,因为 OLE DB 提供程序“SQLOLEDB”无法开始分布式事务。 [OLE/DB 提供程序返回消息:新事务无法登记在指定的事务协调器中。 ] OLE DB 错误跟踪 [OLE/DB 提供程序“SQLOLEDB”ITransactionJoin::JoinTransaction 返回 0x8004d00a]。

我想解决这个错误。 我看过这篇知识库文章...

http://support.microsoft.com/kb/839279

到目前为止,系统管理员已启用“允许入站”复选框,但这没有帮助。 我相信所有涉及的服务器都是 Windows 2003 服务器。

对生产服务器进行更改以尝试知识库文章中解释的其余选项比拔牙更糟糕,因为他们对更改非常谨慎。 因此,我正在寻找解决方法:

有没有办法告诉 BO 在查询时不执行分布式事务? 如果我从上面的 SQL 中删除“BEGIN DISTRIBUTED TRANSACTION”,则一切正常。 看来BO默认是这么做的。

I have a Business Objects Web Intelligence report that is performing a distributed query against two databases.

When I run this query that includes a BEGIN DISTRIBUTED TRANSACTION QUERY

SET xact_abort ON

GO

USE Pipeline2

GO

BEGIN DISTRIBUTED TRANSACTION

SELECT * FROM [CQSR_PROD].CqUSer.Cq4User1.Defect

COMMIT TRAN

GO

I get this error:

Server: Msg 7391, Level 16, State 1, Line 2
The operation could not be performed because the OLE DB provider 'SQLOLEDB' was unable to begin a distributed transaction.
[OLE/DB provider returned message: New transaction cannot enlist in the specified transaction coordinator. ]
OLE DB error trace [OLE/DB Provider 'SQLOLEDB' ITransactionJoin::JoinTransaction returned 0x8004d00a].

I want to resolve this error. I have seen this KB article...

http://support.microsoft.com/kb/839279

and so far the Sys Admins have enabled the "Allow Inbound" check box but that didn't help. I believe all servers involved as Windows 2003 Servers.

Getting changes made to production servers to try the remaining options explained inthe KB article is worse than pulling teeth as they are very cautious about their changes. As a result, I am looking for a work around:

Is there a way to tell BO NOT to perform a distributed transaction when querying? If I remove the "BEGIN DISTRIBUTED TRANSACTION" from the above SQL, all works. I t seems that BO does this by default.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

悲念泪 2024-08-02 19:52:48

我尝试了两种途径。

1)尝试让BO不要发起DIST Transaction
2) 尝试解决 BO 在我们的服务器上执行 DIST TRANS 时返回的错误。

我成功找到了#2的解决方案:

http://www.howtogeek.com/howto/windows/fix-new-transaction-cannot-enlist-in-the-specified-transaction-coordinator-on -server-2003-sp2/

I tried two avenues.

1) Try to get BO not to initiate a DIST Transaction
2) Try to resolve the error that BO returns when performing a DIST TRANS on our serevrs.

I was successful finding a solution for #2:

http://www.howtogeek.com/howto/windows/fix-new-transaction-cannot-enlist-in-the-specified-transaction-coordinator-on-server-2003-sp2/

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文