2017-05-29 61 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

相關問題