谢谢hzb
数据库用oracle8.05
MTS数据对象中用ADOCONNECTION组件(Oracle Provider for OLE DB 
连接,MTS数据对象对象的交易模式为"Requires a transaction'.
MTS协调对象的交易模式为"Supports transactions'.c此情况下建立的MTS协调对象中的TDCOMConnection组件在与MTS数据对象连接时,DLLHOST报“不能在指定的事务处理器中获得新事务”的错误,若将MTS数据对象对象的交易模式在组件服务中该为"Supports transactions'.则不在报错.我开始也怀疑与数据库有关,于是件与ORACLE连接改为ACCESS,同样也报错,作修改后及正常.由此看出与数据库本身无关,而应该是Requires a transaction'与Supports transactions'两中模式的使用区别.
请HUB发表高见,谢谢!!!!

解决方案 »

  1.   

    这样的错误的确和数据库有关,oracle8.05需要做一些配置才能和MTS配合进行事务处理,Access本身就不支持事务处理。如果你不想进行Oracle的配置的话,还是将事务模式改成Supports transactions,如果你想配置,请参考下面的文章:
    http://www.microsoft.com/china/msdn/library/techart/complus_best.asp
    如果你的数据库不是Oracle8.0.5,请参考
    http://support.microsoft.com/support/complus/mtsandoracle.asp?SD=GN&LN=zh-cn&gssnb=1
      

  2.   

    谢谢HUB指点
    查看了相关文章,对这一问题还是一知半解,你能否简要对配置作一下说明,
    我的数据库服务器运行环境为WINNT4(FOR ALPHA)+SP4 +ORACLE8。0。5/SERVER
    WEB服务器运行环境为WIN2K(FOR INTERL)+SP2 +ORACLE9i/CLIENT
      

  3.   

    真是很抱歉,微软的文档写得很详细,我不知道该如何将该文档做一个简要的说明,因为那些步骤都是必须的。如果是觉得那篇英文的文章不太容易理解,我也很抱歉,因为我没有时间去翻译。实在不行的话,你就把事务模式改成support吧,这样不会有很大的影响的。