jmton 发表于 2016-11-16 09:09:48

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

  http://yulimin.iyunv.com/blog/290270
  1、年初在给开发人员培训BEA ALBPM时,所有的学员都可以顺利地在Studio里开发发流程,然后开始试运行,但是到测试运行时,却有一个学员无论如何也启动不了测试服务器,最好发现是机器名为中文名的问题,这位兄弟是借来的笔记本电脑来参加培训的,于是改之重启后,一切顺利。狂晕。。。

2、这次碰到IBM DB2,单元测试访问WebSphere上面的DataSource,出现异常
表面上看来又是水土不服的中文字符集转换之类的问题,但是相同的程序,在我的机器上面可以顺利地通过单元测试,而在另一台机器上面发生如下的异常:

Java代码





[*]java.sql.SQLException:[10402][11146][3.52.95]无法将Unicode字符串转换为Ebcdic字符串。ERRORCODE=-4220,SQLSTATE=nullDSRA0010E:SQL状态:null,错误码:-4,220。
[*]
atcom.ibm.db2.jcc.a.ad.a(ad.java:650)
[*]
atcom.ibm.db2.jcc.a.ad.a(ad.java:60)
[*]
atcom.ibm.db2.jcc.a.ad.a(ad.java:94)
[*]
atcom.ibm.db2.jcc.a.z.a(z.java:98)
[*]
atcom.ibm.db2.jcc.t4.b.Uc(b.java:2315)
[*]
atcom.ibm.db2.jcc.t4.b.b(b.java:706)
[*]
atcom.ibm.db2.jcc.t4.b.a(b.java:396)
[*]
atcom.ibm.db2.jcc.t4.b.<init>(b.java:332)
[*]
atcom.ibm.db2.jcc.DB2PooledConnection.<init>(DB2PooledConnection.java:77)
[*]
atcom.ibm.db2.jcc.DB2ConnectionPoolDataSource.getPooledConnectionX(DB2ConnectionPoolDataSource.java:348)
[*]
atcom.ibm.db2.jcc.DB2ConnectionPoolDataSource.getPooledConnection(DB2ConnectionPoolDataSource.java:156)
[*]
atcom.ibm.ws.rsadapter.spi.InternalGenericDataStoreHelper$1.run(InternalGenericDataStoreHelper.java:1175)
[*]
atcom.ibm.ws.security.util.AccessController.doPrivileged(AccessController.java:118)
[*]
atcom.ibm.ws.rsadapter.spi.InternalGenericDataStoreHelper.getPooledConnection(InternalGenericDataStoreHelper.java:1212)
[*]
atcom.ibm.ws.rsadapter.spi.InternalDB2UniversalDataStoreHelper.getPooledConnection(InternalDB2UniversalDataStoreHelper.java:1540)
[*]
atcom.ibm.ws.rsadapter.spi.WSRdbDataSource.getPooledConnection(WSRdbDataSource.java:2019)
[*]
atcom.ibm.ws.rsadapter.spi.WSManagedConnectionFactoryImpl.createManagedConnection(WSManagedConnectionFactoryImpl.java:1422)
[*]
atcom.ibm.ws.rsadapter.spi.WSDefaultConnectionManagerImpl.allocateConnection(WSDefaultConnectionManagerImpl.java:81)
[*]
atcom.ibm.ws.rsadapter.jdbc.WSJdbcDataSource.getConnection(WSJdbcDataSource.java:646)
[*]
atcom.ibm.ws.rsadapter.jdbc.WSJdbcDataSource.getConnection(WSJdbcDataSource.java:613)



java.sql.SQLException: 无法将 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)

  

于是同样也是将计算机名改为英文名后重启,一切顺利。哎。。。谁知道真正的原因何在不?
页: [1]
查看完整版本: 中文机器名引起BEA ALBPM,IBM DB2之水土不服?