Ofbiz:无法与helperName [localmysql]

时间:2017-02-19 14:08:05

标签: mysql apache jdbc ofbiz

我正在使用 Apache-ofbiz-13.07.03 。我用 ant 构建项目。我用mysql更改了数据库。当我想加载种子/演示数据时ant start,log显示错误。

***我正在使用mysql-connector-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] at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:964)〜[mysql-connector-java-5.1.40-bin.jar:5.1.40]      [java] at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3970)~ [mysql-connector-java-5.1.40-bin.jar:5.1.40]      [java] at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3906)~ [mysql-connector-java-5.1.40-bin.jar:5.1.40]      [java] at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:873)〜[mysql-connector-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>

我的localmysql部分

我的服务器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>

2 个答案:

答案 0 :(得分:1)

请检查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"/>
    

  3. 在datasource localmysql中,localmysqlolap,localmysqltenant更改了波纹管属性:

      

    jdbc-username =“你的mysql用户名”

         

    jdbc-password =“你的mysql用户密码”

    希望这可能有所帮助(Y)

答案 1 :(得分:1)

最后,我能够找到问题并能够解决我的问题。

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

这就是这一行。 每当我创建数据库模式时,我都将默认字符集设置为其他格式而不是 UTF-8

现在我可以连接我的数据库了。非常感谢你们所有人