!本地存储过程A中调用远程库的存储过程B,B过程中执行更新或插入语句,对自己库(远程的库)操作,COMMIT时发生异常:ORA-02064: 不支持 !本地库存储过程A中调用远程库的存储过程B,B过程中执行更新或插入语句,对自己库(远程的库)操作,COMMIT时发生异常:ORA-02064: 不支持分布式操作如何解决????着急啊!!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 COMMIT 是远程存储过程中的,提交的是远程过程自己更新自己的表远程过程B是加在PACKAGE里的,然后PACKAGE建立了同义词,本地库通过同义词访问的远程库B过程,我刚才调试了一下,能不能是他们给的用来调用过程的用户权限不够呢? 权限够,可以更新的,就是不好使,COMMIT时发生异常;返回ORA-02064: 不支持分布式操作怎么办啊,我要疯了! 这个问题好像已经很久了啊。今天我也碰到了,对于出现这样的情况,主要是由于本地存储过程调用远程存储过程的时候,远程存储过程中使用了commit或者rollback。这样就产生了分布式事务的问题。 主存储过程调用子存储过程时,需要将commit或者rollback放置在主过程中,如果放在子过程中就会出错。 这种情况可以通过建立自主事务过程解决,把远程数据库过程CREATE [OR REPLACE] PROCEDURE procedure_name (参数)IS | AS[PRAGMA AUTONOMOUS_TRANACTION;] --声明自主事务处理。之后在里面都可以执行commit或rollback,这时的事务范围仅在过程内 ls说的没错(tranaction少了个s) 求个对同一字段分割的sql,貌似简单,但转不过来 用utl_file导出excel 时间间隔计算 在线的前辈们帮我支个招啊。。。。 无法安装oracle9i oracle+delphi出现怪问题 求oracle805的jdbc驱动 怎么写分页的存储过程?oracle的 如何改变oracle命令行的长度? 夜里11:30,小软件公司的两个合伙人的谈话,用心的,现实思考中国软件 急!怎样打开并修改表里的触发器语句?请高手帮忙。。。谢谢 怎么查oracle 9 i里哪个表使用的哪个表空间?
远程过程B是加在PACKAGE里的,然后PACKAGE建立了同义词,本地库通过同义词访问的远程库B过程,我刚才调试了一下,能不能是他们给的用来调用过程的用户权限不够呢?
返回ORA-02064: 不支持分布式操作
怎么办啊,我要疯了!
今天我也碰到了,对于出现这样的情况,主要是由于本地存储过程调用远程存储过程的时候,远程存储过程中使用了commit或者rollback。这样就产生了分布式事务的问题。 主存储过程调用子存储过程时,需要将commit或者rollback放置在主过程中,如果放在子过程中就会出错。
CREATE [OR REPLACE] PROCEDURE procedure_name (参数)IS | AS[PRAGMA AUTONOMOUS_TRANACTION;] --声明自主事务处理。
之后在里面都可以执行commit或rollback,
这时的事务范围仅在过程内