Ofbiz:无法与 helperName [localmysql] 的数据库建立连接

Ofbiz: Unable to establish a connection with the database for helperName [localmysql]

我正在使用 Apache-ofbiz-13.07.03。我使用 ant 构建项目。我使用 [=38= 更改数据库] 我想加载 seed/demo 数据或 ant 启动,日志显示错误。

*** 我正在使用 mysql-连接器-java-5.1.40-bin.jar 用于 jdbc 连接

 [java] 2017-02-20 00:59:44,209 |OFBiz-config-2       |GenericDelegator              |I| Delegator "default" initializing helper "localmysql" for entity group "org.ofbiz".
 [java] 2017-02-20 00:59:44,209 |OFBiz-config-2       |GenericDelegator              |I| Doing database check as requested in entityengine.xml with addMissing=true
 [java] 2017-02-20 00:59:48,496 |OFBiz-config-2       |DatabaseUtil                  |E| Unable to establish a connection with the database for helperName [localmysql]... Error was: java.sql.SQLException: Unable to acquire a new connection from the pool


 [java] 2017-02-20 00:59:52,572 |main                 |GenericDelegator              |E| Failure in removeByCondition operation for entity [ServiceSemaphore]: org.ofbiz.entity.GenericDataSourceException: Generic Entity Exception occured in deleteByCondition (Unable to esablish a connection with the database. (Unable to acquire a new connection from the pool)). Rolling back transaction.
 [java] org.ofbiz.entity.GenericDataSourceException: Generic Entity Exception occured in deleteByCondition (Unable to esablish a connection with the database. (Unable to acquire a new connection from the pool))
 [java]     at org.ofbiz.entity.datasource.GenericDAO.deleteByCondition(GenericDAO.java:1202) ~[ofbiz-entity-test.jar:?]

[java] ... 还有 22 个 [java] 原因:java.sql.SQLException:用户 'ofbiz'@'10.0.31.110' 的访问被拒绝(使用密码:YES) [java] 在 com.mysql.jdbc.SQLError.createSQLException(SQLError.java:964) ~[mysql-连接器-java-5.1.40-bin.jar:5.1。 40] [java] 在 com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3970) ~[mysql-连接器-java-5.1.40-bin.jar:5.1。 40] [java] 在 com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3906) ~[mysql-连接器-java-5.1.40-bin.jar:5.1。 40] [java] 在 com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:873) ~[mysql-连接器-java-5.1.40-bin.jar:5.1。 40]

我的 entityengin.xm 就像

 <delegator name="default" entity-model-reader="main" entity-group-reader="main" entity-eca-reader="main" distributed-cache-clear-enabled="false">

     <group-map group-name="org.ofbiz" datasource-name="localmysql"/>
    <group-map group-name="org.ofbiz.olap" datasource-name="localmysqlolap"/>
    <group-map group-name="org.ofbiz.tenant" datasource-name="localmysqltenant"/>  

</delegator>

还有我的本地mysql部分

我的服务器ip是10.0.31.8

我想分享一下,我可以在我的本地机器上成功地 运行 这个项目,没有任何问题

<datasource name="localmysql"
        helper-class="org.ofbiz.entity.datasource.GenericHelperDAO"
        field-type-name="mysql"
        check-on-start="true"
        add-missing-on-start="true"
        check-pks-on-start="false"
        use-foreign-keys="true"
        join-style="ansi-no-parenthesis"
        alias-view-columns="false"
        drop-fk-use-foreign-key-keyword="true"
        table-type="InnoDB"
        character-set="latin1"
        collate="latin1_general_cs">
    <read-data reader-name="tenant"/>
    <read-data reader-name="seed"/>
    <read-data reader-name="seed-initial"/>
    <read-data reader-name="demo"/>
    <read-data reader-name="ext"/>
    <read-data reader-name="ext-test"/>
    <read-data reader-name="ext-demo"/>
    <inline-jdbc
            jdbc-driver="com.mysql.jdbc.Driver"
            jdbc-uri="jdbc:mysql://10.0.31.8/ofbiz?autoReconnect=true&amp;characterEncoding=UTF-8"
            jdbc-username="ofbiz"
            jdbc-password="ofbiz"
            isolation-level="ReadCommitted"
            pool-minsize="2"
            pool-maxsize="250"
            time-between-eviction-runs-millis="600000"/><!-- Please note that at least one person has experienced a problem with this value with MySQL
            and had to set it to -1 in order to avoid this issue.
            For more look at http://markmail.org/thread/5sivpykv7xkl66px and http://commons.apache.org/dbcp/configuration.html-->
    <!-- <jndi-jdbc jndi-server-name="localjndi" jndi-name="java:/MySqlDataSource" isolation-level="Serializable"/> -->
</datasource>

请检查 entityengine.xml 是否配置正确。您可以在 -

找到该文件

/framework/entity/config/entityengine.xml

确保您已按照以下步骤操作 -

  1. 在 mysql 中创建数据库名称 ofbiz、ofbizolap 和 ofbiztenant。
  2. 转到 framework/entity/config/entityengine。xml 并将其更改如下。

    <group-map group-name="org.ofbiz" datasource-name="localmysql"/>
    <group-map group-name="org.ofbiz.olap" datasource-name="localmysqlolap"/>
    <group-map group-name="org.ofbiz.tenant" datasource-name="localmysqltenant"/>
    

    <group-map group-name="org.ofbiz" datasource-name="localmysql"/>
    <group-map group-name="org.ofbiz.olap" datasource-name="localmysqlolap"/>
    <group-map group-name="org.ofbiz.tenant" datasource-name="localmysqltenant"/>
    

    <group-map group-name="org.ofbiz" datasource-name="localmysql"/>
    <group-map group-name="org.ofbiz.olap" datasource-name="localmysqlolap"/>
    <group-map group-name="org.ofbiz.tenant" datasource-name="localmysqltenant"/>
    

并在数据源 localmysql、localmysqlolap、localmysqltenant 中更改波纹管属性:

jdbc-username="your mysql username"

jdbc-password="your mysql user password"

希望这对您有所帮助 (Y)

我终于找到了我的问题并解决了我的问题。

jdbc-uri="jdbc:mysql://localhost/ofbiz?autoReconnect=true&amp;characterEncoding=UTF-8"

这就是关于这一行的全部内容。 每当我创建数据库模式时,我都会将默认字符集设置为其他 format 而不是 UTF-8

现在我可以连接我的数据库了。非常感谢大家