2 czbkhhh czbkhhh 于 2017.09.02 12:27 提问

tomcat启动时, 无法创建xxx, 无法将 Unicode 字符串转换为 Ebcdic

麻烦各位大神,帮我看一下这个问题,我也在网上找了很久实在没有找到解决办法
首先我确保,连接DB2数据库的地址,用户名密码,都正确(因为我已经在客户端尝试过了,可以连上,但是到了myeclipse里面启动tomcat的时候就链接不上了,报如下错误!!)谢谢各位啦
图片说明
12:00:45.444 [main] ERROR org.hibernate.util.JDBCExceptionReporter
[78] -Cannot create PoolableConnectionFactory ([jcc][10402][11146][3.64.106] 无法将 Unicode 字符串转换为 Ebcdic 字符串。 ERRORCODE=-4220, SQLSTATE=null)
12:00:45.444 [main] WARN org.hibernate.cfg.SettingsFactory
[121] -Could not obtain connection metadata
org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory ([jcc][10402][11146][3.64.106] 无法将 Unicode 字符串转换为 Ebcdic 字符串。 ERRORCODE=-4220, SQLSTATE=null)
at strap.jar:na]
Caused by: com.ibm.db2.jcc.am.SqlException: [jcc][10402][11146][3.64.106] 无法将 Unicode 字符串转换为 Ebcdic 字符串。 ERRORCODE=-4220, SQLSTATE=null
at com.ibm.db2.jcc.am.bd.a(bd.java:663) [db2jcc.jar:na]
at com.ibm.db2.jcc.am.bd.a(bd.java:60) [db2jcc.jar:na]
at com.ibm.db2.jcc.am.bd.a(bd.java:94) [db2jcc.jar:na]
at com.ibm.db2.jcc.am.w.a(w.java:98) [db2jcc.jar:na]

//----------------------------------------------------------------------------------
12:00:45.962 [main] ERROR org.hibernate.util.JDBCExceptionReporter
[78] -Cannot create PoolableConnectionFactory ([jcc][10402][11146][3.64.106] 无法将 Unicode 字符串转换为 Ebcdic 字符串。 ERRORCODE=-4220, SQLSTATE=null)
12:00:45.962 [main] ERROR org.hibernate.tool.hbm2ddl.SchemaUpdate
[134] -could not get database metadata
org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory ([jcc][10402][11146][3.64.106] 无法将 Unicode 字符串转换为 Ebcdic 字符串。 ERRORCODE=-4220, SQLSTATE=null)
at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:855) [commons-dbcp-1.2.jar:1.2]
at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:540) [commons-dbcp-1.2.jar:1.2]
at org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource.getConnection(AbstractRoutingDataSource.java:148) [org.springframework.jdbc-3.0.4.RELEASE.jar:3.0.4.RELEASE]
at org.springframework.orm.hibernate3.LocalDataSourceConnectionProvider.getConnection(LocalDataSourceConnectionProvider.java:81) [org.springframework.orm-3.0.4.RELEASE.jar:3.0.4.RELEASE]
at org.hibernate.tool.hbm2ddl.SuppliedConnectionProviderConnectionHelper.prepare(SuppliedConnectionProviderConnectionHelper.java:27) [hibernate3.jar:na]
at org.hibernate.tool.hbm2ddl.SchemaUpdate.execute(SchemaUpdate.java:127) [hibernate3.jar:na]
at org.hibernate.impl.SessionFactoryImpl.(SessionFactoryImpl.java:323) [hibernate3.jar:na]
//------------------------------------------------------------------

at java.lang.reflect.Method.invoke(Method.java:597) [na:1.6.0_13]
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288) [bootstrap.jar:na]
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413) [bootstrap.jar:na]

Caused by: com.ibm.db2.jcc.am.SqlException: [jcc][10402][11146][3.64.106] 无法将 Unicode 字符串转换为 Ebcdic 字符串。 ERRORCODE=-4220, SQLSTATE=null
at com.ibm.db2.jcc.am.bd.a(bd.java:663) [db2jcc.jar:na]
at com.ibm.db2.jcc.am.bd.a(bd.java:60) [db2jcc.jar:na]
at com.ibm.db2.jcc.am.bd.a(bd.java:94) [db2jcc.jar:na]
at com.ibm.db2.jcc.am.w.a(w.java:98) [db2jcc.jar:na]
at com.ibm.db2.jcc.t4.db.a(db.java:1513) [db2jcc.jar:na]
at com.ibm.db2.jcc.t4.eb.a(eb.java:671) [db2jcc.jar:na]
at com.ibm.db2.jcc.t4.eb.b(eb.java:237) [db2jcc.jar:na]
at com.ibm.db2.jcc.t4.eb.a(eb.java:42) [db2jcc.jar:na]
at

3个回答

Mr_cuiwei
Mr_cuiwei   2017.09.02 14:36
已采纳

检查设定的MyEclipse的字符集,查查环境变量,检查是否是中文名引起的?

czbkhhh
czbkhhh myeclipse中我全部设置了utf-8字符集,然后重新启动了一下,还有一样的
11 个月之前 回复
czbkhhh
czbkhhh 环境变量,也没有中文
11 个月之前 回复
czbkhhh
czbkhhh 请问,还有其他的原因吗?
11 个月之前 回复
czbkhhh
czbkhhh 应该不是中文,,我的myeclipse的路径,,还有项目的路径不没有中文呢??
11 个月之前 回复
czbkhhh
czbkhhh 嗯,请问你的意思是,字符编码,有问题吗?(我全部都是设置的UTF-8)在applicationContext-db.xml配置文件中也是
11 个月之前 回复
qianyan0365
qianyan0365   2017.09.02 14:21

应该是你数据库配置文件中有非法字符集 !! 最好截图看下配置文件

czbkhhh
czbkhhh 嗯,请问你的意思是,字符编码,有问题吗?(我全部都是设置的UTF-8)在applicationContext-db.xml配置文件中也是
11 个月之前 回复
czbkhhh
czbkhhh   2017.09.02 14:42

请问,怎么查看这个,错误呢!

配置文件中有非法字符集????//----------------下面是我大概的配置文件里面的信息!

<?xml version="1.0" encoding="UTF-8"?>
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
xmlns:tx="http://www.springframework.org/schema/tx" xmlns:jdbc="http://www.springframework.org/schema/jdbc"
xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
http://www.springframework.org/schema/jdbc
http://www.springframework.org/schema/jdbc/spring-jdbc-3.0.xsd
http://www.springframework.org/schema/security
http://www.springframework.org/schema/security/spring-security-3.0.xsd">

<!-- 
<bean id="propertyConfigurer"  class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
    <property name="locations">
        <list>
            <value>jdbc.properties</value>
        </list>
    </property>
</bean> -->

<!-- 数据源  -->
<!-- jdbc方式  -->
<bean id="branchDataSource" class="org.apache.commons.dbcp.BasicDataSource">
    <property name="driverClassName" value="com.ibm.db2.jcc.DB2Driver" /> 
    <!--property name="url" value="jdbc:informix-sqli://192.168.1.35:8588/branchdb:INFORMIXSERVER=xynode1;NEWLOCALE=zh_cn,en_us;NEWCODESET=UTF-8,8859-1,819" /-->


     <!-- <property name="url" value="jdbc:db2://22.236.180.225:50000/BRANCH:currentSchema=BRANCH;"/>
     <property name="username" value="branch" /> 
     <property name="password" value="87921065" />  -->
     <!-- UAT环境 -->

    <property name="url" value="jdbc:db2://22.237.192.45:50000/BRANCH:currentSchema=BRANCH;"/>
    <property name="username" value="branch" />
    <property name="password" value="cap12345" />
    <!-- SIT环境 -->

    <!-- <property name="url" value="jdbc:db2://192.168.233.235:50000/CAPDB:currentSchema=BRANCH;"/>
    <property name="username" value="administrator" />
    <property name="password" value="password" /> -->
    <!-- DEV环境 -->

    <!-- 自动重连设置 -->
    <!-- property name="validationQuery" value="select 1 from dual" /-->

     <!-- 连接池启动时的初始值 -->   
     <property name="initialSize" value="1"/>   
     <!-- 连接池的最大值 -->   
     <property name="maxActive" value="200"/>   
     <!-- 最大空闲值.当经过一个高峰时间后,连接池可以慢慢将已经用不到的连接慢慢释放一部分,一直减少到maxIdle为止 -->   
     <property name="maxIdle" value="2"/>   
     <!--  最小空闲值.当空闲的连接数少于阀值时,连接池就会预申请去一些连接,以免洪峰来时来不及申请 -->   
     <property name="minIdle" value="1"/>   
</bean> 

<bean id="wfDataSource" class="org.apache.commons.dbcp.BasicDataSource">
    <property name="driverClassName" value="com.mysql.jdbc.Driver" />
    <property name="url" value="jdbc:mysql://192.168.236.90:3306/jbpmdb" />
    <property name="username" value="root" />
    <property name="password" value="mysql" />
     <!-- 连接池启动时的初始值 -->   
     <property name="initialSize" value="1"/>   
     <!-- 连接池的最大值 -->   
     <property name="maxActive" value="500"/>   
     <!-- 最大空闲值.当经过一个高峰时间后,连接池可以慢慢将已经用不到的连接慢慢释放一部分,一直减少到maxIdle为止 -->   
     <property name="maxIdle" value="2"/>   
     <!--  最小空闲值.当空闲的连接数少于阀值时,连接池就会预申请去一些连接,以免洪峰来时来不及申请 -->   
     <property name="minIdle" value="1"/>   
</bean> 
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
中文机器名引起BEA ALBPM,IBM DB2之水土不服?
http://yulimin.javaeye.com/blog/290270 1、年初在给开发人员培训BEA ALBPM时,所有的学员都可以顺利地在Studio里开发发流程,然后开始试运行,但是到测试运行时,却有一个学员无论如何也启动不了测试服务器,最好发现是机器名为中文名的问题,这位兄弟是借来的笔记本电脑来参加培训的,于是改之重启后,一切顺利。狂晕。。。 2、这次碰到IBM DB2,单元
DB2纠结了我很久的问题记录下
今天开发 项目启动之后报com.ibm.db2.jcc.c.SqlException: [ibm][db2][jcc][t4][2026][11146] 无法将 Unicode 字符串转换为 Ebcdic 字符串  起初我还以为是DB2连接数据库有问题 JCC/JDBC  都试过 jar包也换过还是不行 我都怀疑是数据库版本有问题因为我刚装了win7  不兼容 原来是我计算机名取的是中文的  
使用DbVisualizer工具连接DB2的数据库报错“Unicode string can't convert to Ebcdic string”
问题:          在使用DbVisualizer工具连接DB2的数据库时报错,错误信息为:“Unicode string can't convert to Ebcdic string”。   解决办法:          该问题一般是由于电脑的计算机名是中文造成的,只需要将中文的计算机名改为英文的就OK了。
flash与字符串:将字符串转换Unicode 字符串输出
flash与字符串:将字符串转换Unicode 字符串输出
运行时动态设置并加密App.Config中的数据库连接字符串
  App.config中的数据库连接字符串,是在Settings.settings同步过来的。后者在设计时支持数据集DataSet的设计,但运行时不能更改,可以更改App.config的连接字符串,但无法加密、解密。造成的结果是数据库连接字符串,要么固定不变,要么以明文显示,极不安全。多次尝试后,成功的解决这些问题。我的经验:  1. Settings.settings中的设置和App.conf
ANSI和UNICODE字符串处理函数
VC++中常用的字符串处理函数介绍,分ANSI和UNICODE版本
vs2013+ef+orcale更新数据库模型
vs2013+ef+更新数据库模型时报错:遇到类型为:sysytem.argumentException的异常,异常消息为:无法将运行时连接字符串转换为设计时等效项。 网上查了很多资料,都说换低版本的vs。折腾了好久找到了解决办法。 首先确保连接字符串正确。 请注意C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config下machine
将unicode字符串转换为Unicode编码值
CString strToUnicode(char* src) { CString strTmp = _T("");    DWORD dwNum; dwNum = MultiByteToWideChar(CP_ACP, 0, (LPCSTR)src, -1, NULL, 0); wchar_t *pwText; pwText = new wchar_t[dwNum]; dwNum
Python中unicode编码的字符串和其他格式的字符串之间进行转换
1.1. 问题 Problem You need to deal with data that doesn't fit in the ASCII character set. 你需要处理不适合用ASCII字符集表示的数据. 1.2. 解决 Solution Unicode strings can be encoded in plain strings in
Ansi字符串转换为Unicode字符串的四种方法
Ansi字符串转换为Unicode字符串的四种方法