factory
org.apache.commons.dbcp.BasicDataSourceFactory
driverClassName
com.ibm.as400.access.AS400JDBCDriver
url
jdbc:as400://ServerIP;translate binary=true
username
username
password
xxxxxxx
minEvictableIdleTimeMillis
30000
maxActive
1000
maxIdle
8
maxWait
10000
其中要注意的地方,就是"translate binary"這個parameter,由於AS400早期的資料庫編碼是EBCDIT,這個parameter預設為false,也就是不自動轉碼。如果AS400資料庫的CCSID為65535,也是不自動轉碼,所以透過JNDI取得的每個字元都會變成2byte,得到奇怪的字元,所以有兩個方向可走。
- 確定讀取到的AS400資料庫CCSID為937,那translate binary可走預設(False)
- 如果不確定 AS400資料庫CCSID為何,那translate binary就預設為True,透過JTOpen來做轉碼
AS400相關的CCSID預設與Windows的對應
沒有留言:
張貼留言