中文机器名引起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