无法使用OracleDBBinding进行分发d事务处理 [英] Unable to enlist in a distribute​d transactio​n with OracleDBBinding
问题描述
我正在使用带有OracleDBbinding的WCF自定义适配器对OracleDatabase执行一些插入/更新操作并获得以下错误。我已经在此发送端口上将useambienttransaction属性设置为true。
I'm doing some Insert/Update operations with the OracleDatabase using WCF Custom adapter with OracleDBbinding and getting the below error. I've already set the useambienttransaction property to true on this send port.
任何帮助?
错误:
消息ID:{445A3664-06BE-4884-A394 -
Message ID: {445A3664-06BE-4884-A394-
实例ID:{E9D590C9-E075-45FD-8299-
Instance ID: {E9D590C9-E075-45FD-8299-
错误描述:Microsoft.ServiceModel。
无法在分布式事务中登记
Error Description: Microsoft.ServiceModel.
在Oracle.DataAccess.Client。< wbr> OracleException。
Boolean bCheck)
at Oracle.DataAccess.Client.
在Oracle.DataAccess.Client。
at Oracle.DataAccess.Client.
在Oracle .DataAccess.Client。
at Oracle.DataAccess.Client.
在Microsoft.Adapters.OracleDB。
at Microsoft.Adapters.OracleDB.
---内部异常堆栈跟踪结束---
--- End of inner exception stack trace ---
服务器堆栈跟踪:
Server stack trace:
在System.Runtime.AsyncResult。
at System.Runtime.AsyncResult.
在System.ServiceModel.Channels。
at System.ServiceModel.Channels.
在System.ServiceModel.Channels。
at System.ServiceModel.Channels.
在System.ServiceModel.Channels。
at System.ServiceModel.Channels.
在[0]处重新抛出异常:
Exception rethrown at [0]:
在System.Runtime.Remoting。
at System.Runtime.Remoting.
在System.Runtime.Remoting。
at System.Runtime.Remoting.
在System.ServiceModel.Channels。
at System.ServiceModel.Channels.
在Microsoft.BizTalk.Adapter.Wcf。
at Microsoft.BizTalk.Adapter.Wcf.
推荐答案
如果Oracle DB在Windows平台上运行,则使用DTC Ping / DTC Tester检查两个系统之间的MSDTC连接。我似乎记得,只有当你使用
Microsoft Oracle ODBC驱动程序而不使用 Oracle数据库驱动程序时才能使用针对Oracle的DTC支持。因此,通过OracleDBBinding可能无法实现。
If the Oracle DB is running on a Windows Platform then use DTC Ping/DTC Tester to check MSDTC connectivity between the two systems. Also I seem to recall that DTC support against Oracle is available only if you were to use the Microsoft Oracle ODBC Drivers and not if you use the Oracle DB Drivers. So it might not be possible through a OracleDBBinding.
问候。
这篇关于无法使用OracleDBBinding进行分发d事务处理的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!