Oracle 11g 分布式事务 无法加载 DLL“oramts.dll” ;不能启动 distributed Transaction coordinator 服务;事务处理的分支长度 82 非法;

第一次做Oracle的 分布式事务处理,被搞了个头破血流,连续弄了2天半,终于搞定了,期间遇到了各种问题,Google的我手都累了,开始还有信心,最后一个又一个的新错误提示,让我开始有点点绝望了,下来我把我的精力整理一篇文章,以便后人在处理上少走弯路。

在此期间还要感谢Sam,King同学,虽然不是一个公司的,但是作为共同的软件服务商,大家还是很热情的,虽然他老说他很忙,但我还是拉住他问了很多问题

首先我解释一下下面几个错误的造成原因

{System.Data.OracleClient.OracleException: ORA-00161: 事务处理的分支长度 82 非法 (允许的最大长度为 64)}

ORA-00161: transaction branch length 82 is illegal (maximum allowed 64)

Access violation at address 07C2DEEE in module oran11.dll


这三种错误说明了你的客户端有多个版本,比如说我,我有10g,11g 并且 环境变量里面这两个Home地址都有


ORA-12154: TNS:could not resolve the connect identifier specified

你要把 11g Home目录下的 network /admin / simple /下的 tnsnames.oRA 拷贝到 network /admin / 目录下

{"尝试读取或写入受保护的内存。这通常指示其他内存已损坏。"}

数据库连接字符串问题,推荐写法:connectionString="Data Source=TMS;User ID=EX;Password=adm;Unicode=True"

最后一个问题

StackTrace='\0'    at System.Data.OracleClient.OciEnlistContext.Join(OracleInternalConnection internalConnection, Transaction indigoTransaction)\r\n   at System.Data.OracleClient.OracleInternalConnection.Enlist(String userName, String password, String serverName, Transaction transaction, Boolean manualEnlistment)\r\n   at System.Data.OracleClient.OracleInternalConnection.Activate(Transaction transaction)\r\n   at System.Data.ProviderBase.DbConnectionInternal.ActivateConnection(Transaction transaction)\r\n   at System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject)\r\n   at System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)\r\n   at System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory 

这个问题是因为你用的Win7 做开发,请换操Xp作系统,你的WCF服务要部署到VS2008的虚拟IIS上面。 我在msdn上有回复 

 {"Unable to get error message (161) (0)."} ?? in TransactionScope




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值