我做好三層結構后,資料顯示沒有問題,但要更新時為何總是跳出錯誤框:
Powerbuilder Application Excution Errer(R0094)
Application terminated.
Errer:COBRA System Exception:COBRA_TRANSACTION_ROLLEDBACK at line 4 in clicked event of object cb_1 of w_main.
uj5u.com熱心網友回復:
有誰做過三層的,給個建議啊!uj5u.com熱心網友回復:
Errer:COBRA System Exception:COBRA_TRANSACTION_ROLLEDBACK我也遇到這個問題,但不單出在更新時,時不時就出現的。
頂!!!!!!!!!!!!!
uj5u.com熱心網友回復:
呵呵,看來easerver5.2問題多多啊lz只給了個問題描述,造成這種錯誤的原因很多很多,得決體分析
但有一個建議:使用jdbc連接資料庫
uj5u.com熱心網友回復:
如何使用jdbc連接資料庫呀?能否教一下.uj5u.com熱心網友回復:
easerver的緩沖池,那里有jdbc的例子,pb的連法到網上查查吧,我也得去查。另外,你保存的表上最好別寫觸發器
uj5u.com熱心網友回復:
使用EAServer的connection caches.在EAServerMaganer里面配。下面是我配過的一個JDBC連SybaseASE125資料庫的示例。配完cache后會在%EAServer%EAServer/Repository/ConnCache/生成一個*.props。我把我的copy下來。
#Sybase EAServer 5.0 Properties
com.sybase.jaguar.conncache.checkallowed=false
com.sybase.jaguar.conncache.config-property=(description=,env-entry-value=https://bbs.csdn.net/topics/false,env-entry-name=DYNAMIC_PREPARE,env-entry-type=java.lang.String)
com.sybase.jaguar.conncache.conlibdll=com.sybase.jdbc2.jdbc.SybDriver
com.sybase.jaguar.conncache.conlibname=JDBC
com.sybase.jaguar.conncache.db_type=Sybase_ASE
com.sybase.jaguar.conncache.description=
com.sybase.jaguar.conncache.log.handler=eas_servlet
com.sybase.jaguar.conncache.logbyconnection=false
com.sybase.jaguar.conncache.name=cachename
com.sybase.jaguar.conncache.password.e=+PVhJQ35H2LUTXAujwI5EZS2Zh7viM7l
com.sybase.jaguar.conncache.poolsize.max=10
com.sybase.jaguar.conncache.poolsize.min=0
com.sybase.jaguar.conncache.props.codeset=utf-8
com.sybase.jaguar.conncache.remotesvrname=jdbc:sybase:Tds:hostname:5100/dbname
com.sybase.jaguar.conncache.sql.trace=false
com.sybase.jaguar.conncache.useparenthandlers=false
com.sybase.jaguar.conncache.username=sa
com.sybase.jaguar.conncache.xa.remotesvrname=jdbc:sybase:Tds:hostname:5100
uj5u.com熱心網友回復:
EASERVER的JAGUAR服務有時候會自己停掉的,注意,停掉的時候會產生這個錯誤。呵呵,我也碰到過,重新打開服務,重新發布就又好了。uj5u.com熱心網友回復:
我覺得應該是你的組件事務設定問題或者是你寫的提交方法有問題。把你的組件事務屬性和你寫的提交方法寫出來看看uj5u.com熱心網友回復:
我覺得使用WINDOWS服務的方式啟動JAGUAR穩定性確實不是很好,還是在DOS模式下穩定uj5u.com熱心網友回復:
還有,當年你呼叫組件事務的SetAbort來回滾事務的時候確實會向PB客戶端拋出一個COBRA_TRANSACTION_ROLLEDBACK例外,這需要用TRY CATCH處理uj5u.com熱心網友回復:
呵呵,看來大家還在討論COBRA_TRANSACTION_ROLLEDBACK這個問題。如果你的組件不支持組件事務,那么,當你setabort的時候,肯定會出這個。不支持組件事務的一定不要用setabort,還是老老實實用你的commit和rollback吧。
如果如果是支持組件事務的,你一定要用setabort會滾事務,注意,一定!!
另外,如果組件在運行的時候出現意外例外,也會出現COBRA_TRANSACTION_ROLLEDBACK例外,這樣,你就需要在寫組件代碼的時候,進行例外捕捉。
4樓的,看來你對eas并不了解。這一系列例外都是正常的,只是你不太了解,沒有正確處理而已。
作為pb程式員,要想增加自己的競爭力,使用pb+eas開發是最佳的選擇。
有興趣可以看看http://hi.baidu.com/zzutligang,這里有一些文章,并且持續更新中。
希望更多pb+eas開發的愛好者交流:msn:[email protected]
uj5u.com熱心網友回復:
支持摟主,收藏uj5u.com熱心網友回復:
支持摟主,收藏uj5u.com熱心網友回復:
EAServer不同的版本要使用對應的PB版本使用,不然就會出現提交不成功的情況。EAServer 5.2對應的應該是PB9的版本。uj5u.com熱心網友回復:
15樓的說法有誤,EAS5.2也支持 PB10,要注意的是在EAS中的PBVM要和你客戶端的PB版本對應,你可以檢查一下你的PB版本,我以前遇到過EAS中是PB10.2.0,客戶端是PB10.2.1就保存失敗都換成10.2.1就好了uj5u.com熱心網友回復:
在EAServer Manager中修改兩個引數:com.sybase.jaguar.component.tx_outcome failed
com.sybase.jaguar.component.tx_vote true
就可以了
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/112200.html
標籤:Web 應用
