誰知道這個錯誤怎麼解決 javax.transaction.xa.XAException: 違反協議
最近我遇到一個問題, 呼叫實體Bean更新資料庫的時候出現違反協議異常.具體配置:
DB: Oracle 8i App: Weblogic 8.1
表結構:
SWDM VARCHAR2(7) not null PK
NSRMC VARCHAR2(100) not null,
KHH VARCHAR2(40),
JYDZ VARCHAR2(100),
FDDBR VARCHAR2(20),
FRDH VARCHAR2(50),
BSR VARCHAR2(10),
BSRDH VARCHAR2(50),
BSRSJ VARCHAR2(50),
EMAIL VARCHAR2(50),
ZZJGDMZH VARCHAR2(50),
DLFS VARCHAR2(1) default '0' not null,
WTDZ VARCHAR2(1) default '0' not null,
DAILI VARCHAR2(1) default '0' not null,
BAOYAN VARCHAR2(1) default '0' not null,
APPLYTIME DATE,
REPLYTIME DATE,
SFPZ VARCHAR2(1),
HFNR VARCHAR2(200)
我建立一個CMP實體BEAN來表示這個表. 使用SESSION BEAN來呼叫, 其中有一個方法有問題:
public void approve(String swdm, String approved, String hfnr) throws
UpdateException {
String[] msg = null;
ApplicationHome ah = null;
if (swdm == null) {
msg = new String[] {"使用者申請", "沒有指定稅務程式碼"};
throw new UpdateException(msg);
}
if (approved == null ||
(!(approved.equals(Application.YES) ||
approved.equals(Application.NO)))) {
msg = new String[] {"使用者申請", "是否批准必須是字串0或者1"};
throw new UpdateException(msg);
}
try {
ah = (ApplicationHome) EJBObjectFactory.getEntityBeanHome(
Constant.APPLICATION);
Application a = ah.findByPrimaryKey(swdm);
////////////////////////////////////////////////
// 此處有問題, setSfpz()執行的時候總把資料庫的那個欄位改成亂碼,而且亂碼還經常變化, 有時還丟擲異常, 我使用客戶端測試SessionBean的時候還經常丟擲異常,如果把a.setReplyTime()註釋掉, 則沒有問題.
a.setHfnr(hfnr);
a.setReplytime(new Timestamp(Calendar.getInstance().getTimeInMillis()));
a.setSfpz(approved);
///////////////////////////////////////////////////
} catch (NamingException ex) {
ex.printStackTrace();
msg = new String[] {"使用者申請", "查詢EJB失敗"};
throw new UpdateException(msg);
} catch (FinderException ex) {
ex.printStackTrace();
msg = new String[] {"使用者申請", "沒有找到這個申請, 稅務程式碼:" + swdm};
throw new UpdateException(msg);
}
}
DB: Oracle 8i App: Weblogic 8.1
表結構:
SWDM VARCHAR2(7) not null PK
NSRMC VARCHAR2(100) not null,
KHH VARCHAR2(40),
JYDZ VARCHAR2(100),
FDDBR VARCHAR2(20),
FRDH VARCHAR2(50),
BSR VARCHAR2(10),
BSRDH VARCHAR2(50),
BSRSJ VARCHAR2(50),
EMAIL VARCHAR2(50),
ZZJGDMZH VARCHAR2(50),
DLFS VARCHAR2(1) default '0' not null,
WTDZ VARCHAR2(1) default '0' not null,
DAILI VARCHAR2(1) default '0' not null,
BAOYAN VARCHAR2(1) default '0' not null,
APPLYTIME DATE,
REPLYTIME DATE,
SFPZ VARCHAR2(1),
HFNR VARCHAR2(200)
我建立一個CMP實體BEAN來表示這個表. 使用SESSION BEAN來呼叫, 其中有一個方法有問題:
public void approve(String swdm, String approved, String hfnr) throws
UpdateException {
String[] msg = null;
ApplicationHome ah = null;
if (swdm == null) {
msg = new String[] {"使用者申請", "沒有指定稅務程式碼"};
throw new UpdateException(msg);
}
if (approved == null ||
(!(approved.equals(Application.YES) ||
approved.equals(Application.NO)))) {
msg = new String[] {"使用者申請", "是否批准必須是字串0或者1"};
throw new UpdateException(msg);
}
try {
ah = (ApplicationHome) EJBObjectFactory.getEntityBeanHome(
Constant.APPLICATION);
Application a = ah.findByPrimaryKey(swdm);
////////////////////////////////////////////////
// 此處有問題, setSfpz()執行的時候總把資料庫的那個欄位改成亂碼,而且亂碼還經常變化, 有時還丟擲異常, 我使用客戶端測試SessionBean的時候還經常丟擲異常,如果把a.setReplyTime()註釋掉, 則沒有問題.
a.setHfnr(hfnr);
a.setReplytime(new Timestamp(Calendar.getInstance().getTimeInMillis()));
a.setSfpz(approved);
///////////////////////////////////////////////////
} catch (NamingException ex) {
ex.printStackTrace();
msg = new String[] {"使用者申請", "查詢EJB失敗"};
throw new UpdateException(msg);
} catch (FinderException ex) {
ex.printStackTrace();
msg = new String[] {"使用者申請", "沒有找到這個申請, 稅務程式碼:" + swdm};
throw new UpdateException(msg);
}
}
相關文章
- oracle 中 sql語句的違反協議???OracleSQL協議
- HTTP代理錯誤怎麼解決?HTTP
- HTTP協議無狀態,該怎麼解決?HTTP協議
- 請問這個報錯該怎麼解決,謝謝
- dns錯誤怎麼辦 dns錯誤的解決辦法DNS
- 代理508限制錯誤怎麼解決?
- 怎麼解決Centos下nginx支援https協議CentOSNginxHTTP協議
- 解決ORA-12560: TNS: 協議介面卡錯誤協議
- 這種錯誤怎麼解決??pojoService問題,反射機制問題嗎?POJO反射
- steam磁碟寫入錯誤怎麼解決 steam安裝時發生錯誤怎麼辦
- steam磁碟寫入錯誤怎麼解決 steam磁碟寫入錯誤解決方法大全
- 調變解調器錯誤651怎麼修復 win10連線錯誤651怎麼解決Win10
- 網站域名解析為什麼錯誤?域名解析錯誤怎麼解決?網站
- IE指令碼錯誤怎麼辦 網頁尾本錯誤解決妙招指令碼網頁
- 【eclipse】 怎麼解決java.lang.NoClassDefFoundError錯誤EclipseJavaError
- 下面EJB中的RealationShip錯誤怎麼解決呢?
- ORA-12560: TNS: 協議介面卡錯誤的解決方法協議
- ORA-12560: TNS: 協議介面卡錯誤解決辦法協議
- 印表機提示列印錯誤怎麼解決 印表機狀態錯誤的方法
- 網頁證書錯誤怎麼回事 證書錯誤的解決辦法網頁
- 糖豆人epic賬戶錯誤14怎麼解決
- 蓄意協議錯誤:蘭利法則協議
- onvif soap 協議的錯誤程式碼協議
- HTTP協議和MQTT協議對比誰更好HTTP協議MQQT
- photoshop匯出png發生未知錯誤的解決方案,ps匯出發生未知錯誤怎麼解決
- 電腦404頁面怎麼恢復 404錯誤頁面怎麼解決
- [OOD]違反里氏替換原則的解決方案
- 網頁上有錯誤怎麼辦 網頁錯誤的一般解決辦法網頁
- 建立python虛擬環境virtualenv錯誤怎麼解決?Python
- 網站提示連線資料庫錯誤怎麼解決網站資料庫
- steam商店打不開怎麼解決 steam商店錯誤程式碼-118-1怎麼解決
- 錯誤720寬頻連線解決辦法 寬頻連線錯誤程式碼720怎麼解決
- Dedecms錯誤警告:連線資料庫失敗,出錯怎麼解決?資料庫
- 有人知道Resin這個伺服器怎麼樣?伺服器
- 關於錯誤程式碼107(err_ssl_protocol_error)SSL 協議出錯的解決方案ProtocolError協議
- Steam錯誤程式碼138怎麼辦?無法訪問社群提示138錯誤解決方法
- 印表機狀態錯誤怎麼解決 印表機一直顯示錯誤不能列印
- win10硬體錯誤117怎麼解決?win10硬體錯誤117的解決辦法Win10