现在有两台oracle服务器:ServerA,ServerB
ServerA上有一数据库DatabaseA
ServerB上有一数据库DatabaseB
且DatabaseA和DatabaseB都已经建立了连接到对方的DataLink:ServerB,ServerA(DataLink与Server的global name相同.ServerB为DatabaseA到DatabaseB的DataLink,ServerA为DatabaseB到DatabaseA的DataLink)
客户端连到DatabaseA,执行SQL:update t@ServerB set xml_extend=sys.xmltype.createXML('<A></A');
(其中t为DatabaseB中的一个TABLE,xml_extend为t中的一个column)
结果执行出错:
ORA-02055: distributed update operation failed; rollback required
ORA-02068: following severe error from ServerB
ORA-03113: end-of-file on communication channel请问这是什么原因造成的阿?
请大家帮忙释疑!

解决方案 »

  1.   

    客户端连到DatabaseA,执行SQL:update t@ServerB set xml_extend=sys.xmltype.createXML('<A></A');改为:
    客户端连到DatabaseB,执行SQL:update t set xml_extend=sys.xmltype.createXML('<A></A')@ServerA ;
    试试看
      

  2.   

    t为DatabaseB中的一个TABLE,xml_extend为t中的一个column
    所以:
    set xml_extend=sys.xmltype.createXML('<A></A');
    找不到xmltype
      

  3.   

    回复人: zsfww1205(努力学习oracle) ( ) 信誉:100  2005-06-06 19:11:00  得分: 0  
     
     
       客户端连到DatabaseA,执行SQL:update t@ServerB set xml_extend=sys.xmltype.createXML('<A></A');改为:
    客户端连到DatabaseB,执行SQL:update t set xml_extend=sys.xmltype.createXML('<A></A')@ServerA ;
    试试看--------------------------------------------------------------------------------------
    执行SQL:update t set xml_extend=sys.xmltype.createXML('<A></A')@ServerA ;
    报错:ORA-00933: SQL command not properly ended好象语法不对:(