2017-05-29 36 views
1

我目前迁移应用从JBOSS 5JBOSS 7.0.4。作为迁移的一部分,我也将Sybase驱动程序从Jconn3更改为Jconn4。存储过程“XXX”可以仅在JBOSS 7服务器非链式事务模式错误运行/ JCONN driver4

2017.05.26 05:53:17 ERROR stderr(71): Caused by: com.sybase.jdbc4.jdbc.SybSQLException: Stored procedure 
'sp_update_trade_data' may be run only in unchained transaction mode. The 'SET CHAINED OFF' command will cause the current session to use unchained transaction mode. 
2017.05.26 05:53:17 ERROR stderr(71): 
2017.05.26 05:53:17 ERROR stderr(71): at com.sybase.jdbc4.tds.Tds.processEed(Tds.java:4131) 
2017.05.26 05:53:17 ERROR stderr(71): at com.sybase.jdbc4.tds.Tds.nextResult(Tds.java:3247) 
2017.05.26 05:53:17 ERROR stderr(71): at com.sybase.jdbc4.jdbc.ResultGetter.nextResult(ResultGetter.java:78) 
2017.05.26 05:53:17 ERROR stderr(71): at com.sybase.jdbc4.jdbc.SybStatement.nextResult(SybStatement.java:294) 
2017.05.26 05:53:17 ERROR stderr(71): at com.sybase.jdbc4.jdbc.SybStatement.nextResult(SybStatement.java:276) 

我显式调用SET在应用数据层链连接命令调用过程之前:在执行的Sybase过程中的JBoss 7与jconn4.jar我得到下面的错误。但我仍然收到以下错误。

我在怀疑一些设置JBOSS 7是压倒SET链连接命令从应用

程序执行罚款叫而不将jconn3.jar司机JBOSS 5个错误。
你能解决这个错误吗?

+0

我可以在JBOSS 7配置文件中设置/配置链式关闭模式? – Karthik

+0

我尝试在独立配置文件中将 set chained off添加到Sybase数据源,但这也不起作用。 – Karthik

回答

1

我通过在sybase过程中将'unchained mode'更改为'anymode'来解决此问题。例如:EXEC sp_procxmode'','anymode'
这将允许存储过程的事务由外部客户端(即JBoss容器)控制。
它也适用于当地客户,因此也适用于“任何”模式。

0

假设没有更改存储过程的执行模式(通过sp_procxmode),我建议仔细看看jconn3和jconn4连接配置文件的差异。

我猜jconn3有autocommit = true(在unchained事务模式下运行),而jconn4有autocommit = false(在链式事务模式下运行)。

+0

我在哪里可以在JBOSS 7中设置/配置链式关闭模式? – Karthik

+0

我不使用JBOSS,所以我不知道确切的位置......但是在“jboss autocommit”的快速搜索中,可以找到很多有用的信息。 – markp

相关问题