2016-08-31 5 views
0

このエラーで困った人は?PoolableConnectionFactoryを作成できません(不明なシステム変数 'language')

Cannot create PoolableConnectionFactory (unknown system variable 'language') 

java、mysql、ibatisによるプログラミング。いくつかのコードと既存のコードを追加すると、このエラーも発生します。

以下はエラーメッセージです。

org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Unknown system variable 'language') 

at org.apache.commons.dbcp.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:1549) 
at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1388) 
at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044) 
at com.ibatis.sqlmap.engine.transaction.jdbc.JdbcTransaction.init(JdbcTransaction.java:48) 
at com.ibatis.sqlmap.engine.transaction.jdbc.JdbcTransaction.getConnection(JdbcTransaction.java:89) 
at com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQueryForObject(GeneralStatement.java:104) 
at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForObject(SqlMapExecutorDelegate.java:566) 
at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForObject(SqlMapExecutorDelegate.java:541) 
at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.queryForObject(SqlMapSessionImpl.java:106) 
at com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.queryForObject(SqlMapClientImpl.java:83) 
at kes.db.dao.BaseDao.getObject(BaseDao.java:116) 
at ocserver.android.service.dao.TB_OC_USER_BADGE_INFO_DAO.confirmNotification(TB_OC_USER_BADGE_INFO_DAO.java:21) 
at ocserver.android.service.action.PushNotificationBadgeModAction.requestTEXT(PushNotificationBadgeModAction.java:66) 
at kes.controller.TEXTServletAction.requestTEXT(TEXTServletAction.java:82) 
at kes.controller.TEXTServletAction.doPost(TEXTServletAction.java:58) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) 
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) 
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) 
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) 
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286) 
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845) 
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) 
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) 
at java.lang.Thread.run(Unknown Source) 

以下は私のSQL文です。

<select id="select_TB_OC_USER_BADGE_INFO_001" parameterClass="TB_OC_USER_BADGE_INFO_VO" resultClass="TB_OC_USER_BADGE_INFO_VO"> 
     <![CDATA[ 
      SELECT 
        BADGE_MC, 
        BADGE_WB 
       FROM 
        TB_OC_USER_BADGE_INFO 
       WHERE 
        USER_ID = #USER_ID# 
       AND 
        COMPANY_CODE = #COMPANY_CODE# 
     ]]> 
    </select> 

以下はTB_OC_USER_BADGE_INFO_VOです。ゲッターとセッターを持って来なかった。

public class TB_OC_USER_BADGE_INFO_VO { 

    private String USER_ID; 
    private String COMPANY_CODE; 
    private String TYPE; 
    private int BADGE_MC; 
    private int BADGE_WB; } 

答えて

0

問題は、ファイアウォールました。ファイアウォールは他のコンピュータ上のデータベースにアクセスするためにJavaをブロックしました。アクセスが許可されると、私のプログラムが働き始めました。

0

マイ・コネクター・ライブラリーをmysql-connector-java-5.1.23-bin.jarに変更しても問題ありません。 この問題は、mysql-connector-java-5.1.36.jarにありました

関連する問題