我们有SQL server 2012作为DB服务器,Websphere MQ在Redhat Linux上作为MQ服务器。我们的应用程序在Redhat服务器上,并在C++中实现。
我们需要分布式事务能力,以便事务能够同时跨越资源(DB和MQ)。分布式事务由跨资源管理器的事务管理器管理。
如果单个资源管理器(DB和MQ)提供XA操作,WMQ能够充当分布式事务管理器。MS确实有一个用于Linux的ODBC库:http://www.microsoft.com/en-us/download/details.aspx?id=28160。
其他选项是使用MS分布式事务协调器作为事务管理器。
谢谢你,亚什
发布于 2014-08-14 16:24:15
我希望我有个好消息给你..。
假设您谈论的是V8 (尽管其他版本类似),当使用MQ作为事务管理器时,根本不支持manager。您可以在MQ SOE的“数据库”部分看到这一点:
http://www-969.ibm.com/software/reports/compatibility/clarity-reports/report/html/softwareReqsForProduct?deliverableId=1350550241693&osPlatform=Linux#sw-Databases
可以使用MSDTC,但据我所知,只有在Windows中运行的客户端才能使用MSDTC--我不知道如何使它适合您的场景。
另一种选择是使用J2EE环境(WAS/JBoss等)。这将充当事务管理器,MQ &MQ将充当资源。不过,这并不能解决用C++编写的需求。
因此,我对你们提出的真正有效的建议是:
1)检查事务管理器MQ是否支持:http://www-969.ibm.com/software/reports/compatibility/clarity-reports/report/html/softwareReqsForProduct?deliverableId=1350550241693&osPlatform=Linux#sw-Transaction服务器和网关
遗憾的是,我不太熟悉这些选项的细节。
2)提出一个以IBM为客户的“RFE”。这是它们提供的允许客户/外部方请求新功能的机制:
http://www.ibm.com/developerworks/rfe/
虽然不能保证它会被接受,或者它最终会出现在哪个版本(或者什么时候!)。
https://stackoverflow.com/questions/25305403
复制相似问题