tuxedo服务里面对数据库进行了插入,修改删除等操作而没有COMMIT或ROLLBACK
2013-05-16 18:55
260 查看
tuxedo LIBTUX_CAT:481
173844.development!CadAccount.1753240.1.0: gtrid x0 x434d35d1 xa: LIBTUX_CAT:481: ERROR: Service xa_start returned -9网上资料:
原因分析:服务里面对数据库进行了插入,修改删除等操作而没有COMMIT或ROLLBACK,tuxedo就会自动开始一个本地事务.
tuxedo全局事务会对应一个本地连接的事务,而上面这种情况下tuxedo又想自动启动一个本地事务.
相当于一个单线程程序里面同时启动两个事务.这是不可能出现的,同时只能有一个事务
解决方案:找到tpcall时出这个错误的被调服务程序.
方案1.程序里面使用EXEC SQL COMMIT WORK;或EXEC SQL ROLLBACK;防止tuxedo自动启动一个本地事务
方案2.使用AUTOTRAN=Y,这样这个程序会自动运行在一个全局事务里面,操作也会服务返回就提交
方案3.可用有特殊原因,比如需要多次调用服务后在某种条件发生时才提交
服务调用时使用TPNOTRAN参数.这样当程序退出时,tuxedo会自动提交这个事务,或
http://blog.itpub.net/post/8082/63929
相关文章推荐
- 利用dbcp数据库连接池连接数据库,并利用dbtuils框架对数据库test中book表进行插入、删除、修改、查询的操作。
- python对MySQL进行数据的插入、更新和删除之后需要commit,数据库才会真的有数据操作。(待日后更新)
- 利用dbcp数据库连接池连接数据库,并利用dbtuils框架对数据库test中book表进行插入、删除、修改、查询的操作代码
- 利用dbcp数据库连接池连接数据库,并利用dbtuils框架对数据库test中book表进行插入、删除、修改、查询的操作。book表结构如下:(id,name,price,author,descrip
- 初学mysql(四)-数据库之数据库表内容的插入删除修改操作
- 怎样在C#里对xml文件进行修改,新增,删除,插入操作?
- 怎样在C#里对xml文件进行修改,新增,删除,插入操作?
- jquery easyui实现datagrid表格向数据库中进行增加,修改和删除操作
- 用C语言操作MySQL数据库,进行连接、插入、修改、删除等操作
- JAVA对MYSQL进行连接、插入、修改、删除操作
- 用C语言操作MySQL数据库,进行连接、插入、修改、删除等操作
- 用WebService实现对数据库进行操作(添加+删除+修改)(转)
- 使用SQL语句对表进行插入、修改和删除数据操作
- 表操作汇总(复制,删除,修改,插入,查询及数据库的复制)
- 通过servlet来实现对Mysql进行连接、插入、修改、删除操作
- 转载:怎样在C#里对xml文件进行修改,新增,删除,插入操作?
- 用C语言操作MySQL数据库,进行连接、插入、修改、删除等操作
- 用C语言操作MySQL数据库,进行连接、插入、修改、删除等操作
- C#里对xml文件进行修改,新增,删除,插入操作
- 怎样在C#里对xml文件进行修改,新增,删除,插入操作?