中文機器名引起BEA ALBPM,IBM DB2之水土不服?
https://yulimin.javaeye.com/blog/290270
1、年初在給開發人員培訓BEA ALBPM時,所有的學員都可以順利地在Studio裏開發發流程,然後開始試運行,但是到測試運行時,卻有一個學員無論如何也啟動不了測試服務器,最好發現是機器名為中文名的問題,這位兄弟是借來的筆記本電腦來參加培訓的,於是改之重啟後,一切順利。狂暈。。。
2、這次碰到IBM DB2,單元測試訪問WebSphere上麵的DataSource,出現異常
表麵上看來又是水土不服的中文字符集轉換之類的問題,但是相同的程序,在我的機器上麵可以順利地通過單元測試,而在另一台機器上麵發生如下的異常:
- 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.<init>(b.java:332)
- at com.ibm.db2.jcc.DB2PooledConnection.<init>(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)
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.<init>(b.java:332) at com.ibm.db2.jcc.DB2PooledConnection.<init>(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)
於是同樣也是將計算機名改為英文名後重啟,一切順利。哎。。。誰知道真正的原因何在不?
最後更新:2017-04-02 00:06:42