天天看點

中文機器名引起BEA ALBPM,IBM DB2之水土不服?

<a href="http://yulimin.javaeye.com/blog/290270">http://yulimin.javaeye.com/blog/290270</a>

1、年初在給開發人員教育訓練bea albpm時,所有的學員都可以順利地在studio裡開發發流程,然後開始試運作,但是到測試運作時,卻有一個學員無論如何也啟動不了測試伺服器,最好發現是機器名為中文名的問題,這位兄弟是借來的筆記本電腦來參加教育訓練的,于是改之重新開機後,一切順利。狂暈。。。

2、這次碰到ibm db2,單元測試通路websphere上面的datasource,出現異常

表面上看來又是水土不服的中文字元集轉換之類的問題,但是相同的程式,在我的機器上面可以順利地通過單元測試,而在另一台機器上面發生如下的異常:

中文機器名引起BEA ALBPM,IBM DB2之水土不服?

java.sql.sqlexception: [jcc][10402][11146][3.52.95] 無法将 unicode 字元串轉換為 ebcdic 字元串。 errorcode=-4220, sqlstate=nulldsra0010e: sql 狀态:null,錯誤碼:-4,220。   

    at com.ibm.db2.jcc.a.ad.a(ad.java:650)   

    at com.ibm.db2.jcc.a.ad.a(ad.java:60)   

    at com.ibm.db2.jcc.a.ad.a(ad.java:94)   

    at com.ibm.db2.jcc.a.z.a(z.java:98)   

    at com.ibm.db2.jcc.t4.b.uc(b.java:2315)   

    at com.ibm.db2.jcc.t4.b.b(b.java:706)   

    at com.ibm.db2.jcc.t4.b.a(b.java:396)   

    at com.ibm.db2.jcc.t4.b.&lt;init&gt;(b.java:332)   

    at com.ibm.db2.jcc.db2pooledconnection.&lt;init&gt;(db2pooledconnection.java:77)   

    at com.ibm.db2.jcc.db2connectionpooldatasource.getpooledconnectionx(db2connectionpooldatasource.java:348)   

    at com.ibm.db2.jcc.db2connectionpooldatasource.getpooledconnection(db2connectionpooldatasource.java:156)   

    at com.ibm.ws.rsadapter.spi.internalgenericdatastorehelper$1.run(internalgenericdatastorehelper.java:1175)   

    at com.ibm.ws.security.util.accesscontroller.doprivileged(accesscontroller.java:118)   

    at com.ibm.ws.rsadapter.spi.internalgenericdatastorehelper.getpooledconnection(internalgenericdatastorehelper.java:1212)   

    at com.ibm.ws.rsadapter.spi.internaldb2universaldatastorehelper.getpooledconnection(internaldb2universaldatastorehelper.java:1540)   

    at com.ibm.ws.rsadapter.spi.wsrdbdatasource.getpooledconnection(wsrdbdatasource.java:2019)   

    at com.ibm.ws.rsadapter.spi.wsmanagedconnectionfactoryimpl.createmanagedconnection(wsmanagedconnectionfactoryimpl.java:1422)   

    at com.ibm.ws.rsadapter.spi.wsdefaultconnectionmanagerimpl.allocateconnection(wsdefaultconnectionmanagerimpl.java:81)   

    at com.ibm.ws.rsadapter.jdbc.wsjdbcdatasource.getconnection(wsjdbcdatasource.java:646)   

    at com.ibm.ws.rsadapter.jdbc.wsjdbcdatasource.getconnection(wsjdbcdatasource.java:613)  

于是同樣也是将計算機名改為英文名後重新開機,一切順利。哎。。。誰知道真正的原因何在不?