相关文章推荐
至今单身的橙子  ·  使用aws ...·  1 年前    · 
玉树临风的青蛙  ·  RTSP Support·  1 年前    · 

ibatis执行sybase存储过程时报错 Stored procedure 'proc_acctquery' may be run only in unchained transaction mode

Caused by: com.sybase.jdbc3.jdbc.SybSQLException: Stored procedure 'proc_acctquery' may be run only in unchained transaction mode. 
       The 'SET CHAINED OFF' command will cause the current session to use unchained transaction mode.
	at com.sybase.jdbc3.tds.Tds.processEed(Tds.java:2988)
	at com.sybase.jdbc3.tds.Tds.nextResult(Tds.java:2292)
	at com.sybase.jdbc3.jdbc.ResultGetter.nextResult(ResultGetter.java:69)
	at com.sybase.jdbc3.jdbc.SybStatement.nextResult(SybStatement.java:220)
	at com.sybase.jdbc3.jdbc.SybStatement.nextResult(SybStatement.java:203)
	at com.sybase.jdbc3.jdbc.SybStatement.executeLoop(SybStatement.java:1868)
	at com.sybase.jdbc3.jdbc.SybCallableStatement.execute(SybCallableStatement.java:157)
	at org.apache.commons.dbcp.DelegatingPreparedStatement.execute(DelegatingPreparedStatement.java:168)
	at sun.reflect.GeneratedMethodAccessor68.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at com.ibatis.common.jdbc.logging.PreparedStatementLogProxy.invoke(PreparedStatementLogProxy.java:62)
	at sun.proxy.$Proxy2.execute(Unknown Source)
	at com.ibatis.sqlmap.engine.execution.SqlExecutor.executeQueryProcedure(SqlExecutor.java:278)
	at com.ibatis.sqlmap.engine.mapping.statement.ProcedureStatement.sqlExecuteQuery(ProcedureStatement.java:39)
	at com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.executeQueryWithCallback(MappedStatement.java:189)

解决方法 :在sybase数据库中执行  exec 'sp_procxmode  proc_acctquery' ,  'anymode'

proc_acctquery --自己编写的存储过程名

'anymode'--模式

ibatis执行sybase存储过程报错Stored procedure 'proc_acctquery' may be run only in unchained transaction mode ibatis执行sybase存储过程时报错 Stored procedure 'proc_acctquery' may be run only in unchained transaction modeCaused by: com.sybase.jdbc3.jdbc.SybSQLException: Stored procedure 'proc_acctquery' may be
今天整合 存储 过程 的脚本时,看到如下语句: sp_procx mode P_InitTaskByCond, any mode GO 于是查询了一下【sp_procx mode 】 的一些简单介绍,进行记录一下:整理中 https://www.google.com.hk/search?newwindow=1&safe=strict&site=&source=hp&q=sp_...
SYBASE SQL Server 的每一个数据库,无论是系统数据库(master, mode l, sybsystemprocs, tempdb),还是用户数据库,都有自己的 transaction log,每个库都有syslogs表。Log记录用户对数据库修改的操作,所以如果不用命令清除, log会一直增长直至占满空间。清除log可用dump transaction 命令;或者开放数据库选项t run c log on chkpt,数据库会每隔一段间隔自动清除log。管理好数据库log是用户操作数据库必须考虑的一面。 下面就几个方面谈谈log及其管理:
spring 事务配置 http://www.cnblogs.com/younggun/archive/2013/07/16/3193800.html spring 自我调用失效解决方案 http://blog.csdn.net/wxwzy738/article/details/27566645 sybase 存储 过程 在事务内 执行 com. sybase .jdbc2.jdbc.SybSQLExcept
链接:http://www.360doc.com/content/12/0523/23/4152160_213259047.shtml 一、 系统数据库  安装 Sybase 数据库时自动生成的下列系统数据库:  ● 主数据库master;  ● 模型数据库 mode l;  ● 系统 过程 数据库sybsystemprocs;  ● 临时数据库tempdb。  也可选择下列数据库:
Sybase 中默认每个DML语句是一个事务,因此,正确地处理事务和 误就很重要了。 EXEC sp_procx mode 'spname', ' unchained ' 让 存储 过程 不在事务链模式中。 [code="sql"] create procedure procTransationTest @param1 int, @param2 char(20) declare...
Sybase 数据库 存储 过程 不能进行修改,需要先将其DROP掉后再CREATE,可以先进入原 存储 过程 中将需要修改的内容作修改后,全部复制,后将 存储 过程 删除,后再创建将内容粘贴到内容区即可。 转载于:https://blog.51cto.com/lj1987/284238...
google半天,没找到有人写者方面的,我就开个头吧。有不对的地方还请大侠们拍砖。 要点其实很简单,就是把在declareParameter时要先声明返回结果集参数,再声明input参数。 先看看程序吧:
org.apache. ibatis .binding是MyBatis框架中的一个包,提供了一些基础的绑定功能,比如将Mapper接口绑定到对应的Mapper XML文件中。如果出现org.apache. ibatis .binding ,可能是以下原因之一: 1. MyBatis依赖版本不匹配:可能是你使用的MyBatis依赖版本与其他依赖库的版本不兼容,导致org.apache. ibatis .binding包无法正确加载。 2. Mapper接口绑定问题:可能是你在绑定Mapper接口时出现了 误,比如Mapper接口中的方法名与Mapper XML文件中的id不一致,或者Mapper接口中的参数类型与Mapper XML文件中的参数类型不一致等。 3. MyBatis配置文件问题:可能是你的MyBatis配置文件中出现了 误,比如配置文件中的mapper节点没有正确配置,或者配置文件中的数据源配置出现了问题等。 建议你根据 信息进行排查和调试,找到具体的原因并进行修复。
ibatis执行sybase存储过程报错Stored procedure 'proc_acctquery' may be run only in unchained transaction mode Catnapper__: