Hybris 18.08-B2C安装的MySQL数据库错误

2020-09-10 06:54发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


混合动力18.08

我正在尝试使用 MySQL 5.7.25 作为数据库的Hybris B2C安装,但到目前为止还算不上成功。 获取与数据库相关的错误。 默认的HSQL可以正常工作。

local.properties

  db.url = jdbc:mysql://localhost/dbnew?useUnicode = true&useJDBCCompliantTimezoneShift = true&useLegacyDatetimeCode = false&serverTimezone = UTC
  db.driver = com.mysql.cj.jdbc.Driver
  db.username = hybris
  db.password =混合
    mysql.allow.fractional.seconds = true
  #其他*必填*设置
  db.customsessionsql = SET SESSION事务隔离级别已提交;
  mysql.optional.tabledefs = CHARSET = utf8 COLLATE = utf8_bin
  mysql.tabletype = InnoDB
  

用户" Hybris"拥有全部权限。

尝试过

1)安装receipe-/installer/./install.sh -r b2c_acc_plus

2)ant modulegen -Dinput.module =加速器-Dinput.name = training4 -Dinput.package = com.hybris.training4 -Dinput.template = develop

3)删除了不必要的扩展,并添加了以下扩展,

training4fulfilmentprocess

training4cockpits

training4core

training4facades

training4test

training4initialdata

training4storefront

4)"一切顺利"取得成功

5)但是"蚂蚁初始化"失败并出现错误,

... [java]错误[ImpExWorker <9/16>] [注册表]主脚本的第16行:无法激活租户<>,因为其数据库连接当前已丢失

... [java]错误[ImpExWorker <9/16>] [ConnectionImpl]错误,重置隔离级别[java] de.hybris.platform.jdbcwrapper.interceptor.recover.RecoveryInProgressException:正在恢复。 请稍后再试。 [java]位于de.hybris.platform.jdbcwrapper.interceptor.recover.SQLRecoverableExceptionHandler.get(SQLRecoverableExceptionHandler.java:67)〜[coreserver.jar :?] [java]位于de.hybris.platform.jdbcwrapper.interceptor.JDBCInterceptor。 get(JDBCInterceptor.java:69)〜[coreserver.jar :?] [java],位于de.hybris.platform.jdbcwrapper.interceptor.ConnectionWithJDBCInterceptor.getTransactionIsolation(ConnectionWithJDBCInterceptor.java:147)〜[coreserver.jar:?]

... [java]警告[main](00000006-ImpEx-Import)[SQLErrorCodesFactory]提取数据库名称时出错-返回空错误代码[java] org.springframework.jdbc.support.MetaDataAccessException:无法 获取用于提取元数据的连接; 嵌套的异常是org.springframework.jdbc.CannotGetJdbcConnectionException:无法获取JDBC连接。 嵌套的异常是de.hybris.platform.jdbcwrapper.interceptor.recover.RecoveryInProgressException:正在恢复。 请稍后再试。 [java]位于org.springframework.jdbc.support.JdbcUtils.extractDatabaseMetaData(JdbcUtils.java:338)〜[spring-jdbc-4.3.17.RELEASE.jar:4.3.17.RELEASE] [java]位于org.springframework。 org.springframework.jdbc.support.SQLErrorCodesFactory.getErrorCodes([j]]中的jdbc.support.JdbcUtils.extractDatabaseMetaData(JdbcUtils.java:365)〜[spring-jdbc-4.3.17.RELEASE.jar:4.3.17.RELEASE] [java] SQLErrorCodesFactory.java:212)[spring-jdbc-4.3.17.RELEASE.jar:4.3.17.RELEASE] [java]位于org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.setDataSource(SQLErrorCodeSQLExceptionTranslator.java:134)[spring- jdbc-4.3.17.RELEASE.jar:4.3.17.RELEASE]

... [java] at de.hybris.bootstrap.loader.Loader.main(Loader.java:118)[ybootstrap.jar :?] [java]原因:org.springframework.jdbc.CannotGetJdbcConnectionException: 无法获得JDBC连接; 嵌套的异常是de.hybris.platform.jdbcwrapper.interceptor.recover.RecoveryInProgressException:正在恢复。 请稍后再试。 [java]位于org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:80)〜[spring-jdbc-4.3.17.RELEASE.jar:4.3.17.RELEASE] [java]位于org.springframework。 jdbc.support.JdbcUtils.extractDatabaseMetaData(JdbcUtils.java:325)〜[spring-jdbc-4.3.17.RELEASE.jar:4.3.17.RELEASE] [java] ...更多67 [java]原因:de。 hybris.platform.jdbcwrapper.interceptor.recover.RecoveryInProgressException:正在恢复。 请稍后再试。

... [java]错误[main] [FlexibleSearch]发生了灵活的搜索错误... [java]错误[main] [CommerceServicesSystemSetup]导入[/commerceservices/import/constraints.impex] ...失败[java ] de.hybris.platform.servicelayer.exceptions.ModelSavingException:[de.hybris.platform.servicelayer.interceptor.impl.UniqueAttributesInterceptor@4d54d507]:意外的验证器错误:SQL搜索错误-正在恢复。 请稍后再试。 查询='null',值= [PropertyValue:8796093088345,00000003,8796100591698,8796100165714,8796100427858,8796099870802,8796100722770,8796099608658,8796100034642,8796100526162,8796099936338,8796099969106,8796100198482,87961007969609607897967967609607968079679696079660796378 ,8796100395090,8796099674194,8796099706962,8796099805266,8796099838034,8796093513810,属性值:8796093088345,00000003,8796100296786] [java],位于de.hybris.platform.servicelayer.internal.model.impl.wrapper.ModelWrapper.invokeValidateInterceptors(java )〜[coreserver.jar :?] [java],位于de.hybris.platform.servicelayer.internal.model.impl.wrapper.ModelWrapper.validate(ModelWrapper.java:239)〜[coreserver.jar:?]

... [java]信息[main] [TypeLocalization] 8个线程将用于本地化类型系统。 [java]错误[main] [AbstractAntPerformable] perfort任务[java] java.lang.IllegalStateException时发生错误:给定的主数据源DataSourceImpl <>似乎无效(无法连接= true),(池关闭= false)[java ]在de.hybris.platform.core.system.impl.DefaultInitLockDao.assertDataSourceValid(DefaultInitLockDao.java:91)〜[coreserver.jar :?] [java]在de.hybris.platform.core.system.impl.DefaultInitLockDao。 getInitializedMasterDataSource(DefaultInitLockDao.java:80)〜[coreserver.jar :?] [java],位于de.hybris.platform.core.system.impl.DefaultInitLockDao.readLockInfo(DefaultInitLockDao.java:112)〜[coreserver.jar :?]

... [java]线程"主"中的异常java.lang.reflect.InvocationTargetException [java]位于sun.reflect.NativeMethodAccessorImpl.invoke0(本地方法)[java]位于sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl .java:62)[java] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[java] at java.lang.reflect.Method.invoke(Method.java:498)[java] at de.hybris .bootstrap.loader.Loader.execute(Loader.java:142)[java],位于de.hybris.bootstrap.loader.Loader.main(Loader.java:118)[java]原因:源文件:内联评估: ``尝试
{de.hybris.ant.taskdefs.AntPerformable p = new de.hybris.a。 。 。 '':方法调用p.doPerform:第4行:在文件中:在线评估:``尝试
{de.hybris.ant.taskdefs.AntPerformable p = new de.hybris.a。 。 。 ":p .doPerform()[java] [java]目标异常:java.lang.IllegalStateException:给定的主数据源DataSourceImpl <>似乎无效(无法连接= true),(池关闭= false)[java] bsh.BSHMethodInvocation.eval(BSHMethodInvocation.java:97)上的[java] bsh.BSHPrimaryExpression.eval(BSHPrimaryExpression.java:102)上的[java] bsh.BSHPrimaryExpression.eval(BSHPrimaryExpression.java:47)上的[java] ]在bsh.BSHBlock.evalBlock(BSHBlock.java:130)[java]在bsh.BSHBlock.eval(BSHBlock.java:80)[java]在bsh.BSHBlock.eval(BSHBlock.java:46)[java]在 bsh.Interpreter.eval(Interpreter.java:645)的bsh.BSHTryStatement.eval(BSHTryStatement.java:86)[java]在bsh处的bsh.Interpreter.eval(Interpreter.java:739)[java]。 Interpreter.eval(Interpreter.java:728)[java]位于de.hybris.platform.util.ClientExecuter.execute(ClientExecuter.java:49)[java] ...还有6个[java]关闭了hybris注册表。/p>

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


混合动力18.08

我正在尝试使用 MySQL 5.7.25 作为数据库的Hybris B2C安装,但到目前为止还算不上成功。 获取与数据库相关的错误。 默认的HSQL可以正常工作。

local.properties

  db.url = jdbc:mysql://localhost/dbnew?useUnicode = true&useJDBCCompliantTimezoneShift = true&useLegacyDatetimeCode = false&serverTimezone = UTC
  db.driver = com.mysql.cj.jdbc.Driver
  db.username = hybris
  db.password =混合
    mysql.allow.fractional.seconds = true
  #其他*必填*设置
  db.customsessionsql = SET SESSION事务隔离级别已提交;
  mysql.optional.tabledefs = CHARSET = utf8 COLLATE = utf8_bin
  mysql.tabletype = InnoDB
  

用户" Hybris"拥有全部权限。

尝试过

1)安装receipe-/installer/./install.sh -r b2c_acc_plus

2)ant modulegen -Dinput.module =加速器-Dinput.name = training4 -Dinput.package = com.hybris.training4 -Dinput.template = develop

3)删除了不必要的扩展,并添加了以下扩展,

training4fulfilmentprocess

training4cockpits

training4core

training4facades

training4test

training4initialdata

training4storefront

4)"一切顺利"取得成功

5)但是"蚂蚁初始化"失败并出现错误,

... [java]错误[ImpExWorker <9/16>] [注册表]主脚本的第16行:无法激活租户<>,因为其数据库连接当前已丢失

... [java]错误[ImpExWorker <9/16>] [ConnectionImpl]错误,重置隔离级别[java] de.hybris.platform.jdbcwrapper.interceptor.recover.RecoveryInProgressException:正在恢复。 请稍后再试。 [java]位于de.hybris.platform.jdbcwrapper.interceptor.recover.SQLRecoverableExceptionHandler.get(SQLRecoverableExceptionHandler.java:67)〜[coreserver.jar :?] [java]位于de.hybris.platform.jdbcwrapper.interceptor.JDBCInterceptor。 get(JDBCInterceptor.java:69)〜[coreserver.jar :?] [java],位于de.hybris.platform.jdbcwrapper.interceptor.ConnectionWithJDBCInterceptor.getTransactionIsolation(ConnectionWithJDBCInterceptor.java:147)〜[coreserver.jar:?]

... [java]警告[main](00000006-ImpEx-Import)[SQLErrorCodesFactory]提取数据库名称时出错-返回空错误代码[java] org.springframework.jdbc.support.MetaDataAccessException:无法 获取用于提取元数据的连接; 嵌套的异常是org.springframework.jdbc.CannotGetJdbcConnectionException:无法获取JDBC连接。 嵌套的异常是de.hybris.platform.jdbcwrapper.interceptor.recover.RecoveryInProgressException:正在恢复。 请稍后再试。 [java]位于org.springframework.jdbc.support.JdbcUtils.extractDatabaseMetaData(JdbcUtils.java:338)〜[spring-jdbc-4.3.17.RELEASE.jar:4.3.17.RELEASE] [java]位于org.springframework。 org.springframework.jdbc.support.SQLErrorCodesFactory.getErrorCodes([j]]中的jdbc.support.JdbcUtils.extractDatabaseMetaData(JdbcUtils.java:365)〜[spring-jdbc-4.3.17.RELEASE.jar:4.3.17.RELEASE] [java] SQLErrorCodesFactory.java:212)[spring-jdbc-4.3.17.RELEASE.jar:4.3.17.RELEASE] [java]位于org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.setDataSource(SQLErrorCodeSQLExceptionTranslator.java:134)[spring- jdbc-4.3.17.RELEASE.jar:4.3.17.RELEASE]

... [java] at de.hybris.bootstrap.loader.Loader.main(Loader.java:118)[ybootstrap.jar :?] [java]原因:org.springframework.jdbc.CannotGetJdbcConnectionException: 无法获得JDBC连接; 嵌套的异常是de.hybris.platform.jdbcwrapper.interceptor.recover.RecoveryInProgressException:正在恢复。 请稍后再试。 [java]位于org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:80)〜[spring-jdbc-4.3.17.RELEASE.jar:4.3.17.RELEASE] [java]位于org.springframework。 jdbc.support.JdbcUtils.extractDatabaseMetaData(JdbcUtils.java:325)〜[spring-jdbc-4.3.17.RELEASE.jar:4.3.17.RELEASE] [java] ...更多67 [java]原因:de。 hybris.platform.jdbcwrapper.interceptor.recover.RecoveryInProgressException:正在恢复。 请稍后再试。

... [java]错误[main] [FlexibleSearch]发生了灵活的搜索错误... [java]错误[main] [CommerceServicesSystemSetup]导入[/commerceservices/import/constraints.impex] ...失败[java ] de.hybris.platform.servicelayer.exceptions.ModelSavingException:[de.hybris.platform.servicelayer.interceptor.impl.UniqueAttributesInterceptor@4d54d507]:意外的验证器错误:SQL搜索错误-正在恢复。 请稍后再试。 查询='null',值= [PropertyValue:8796093088345,00000003,8796100591698,8796100165714,8796100427858,8796099870802,8796100722770,8796099608658,8796100034642,8796100526162,8796099936338,8796099969106,8796100198482,87961007969609607897967967609607968079679696079660796378 ,8796100395090,8796099674194,8796099706962,8796099805266,8796099838034,8796093513810,属性值:8796093088345,00000003,8796100296786] [java],位于de.hybris.platform.servicelayer.internal.model.impl.wrapper.ModelWrapper.invokeValidateInterceptors(java )〜[coreserver.jar :?] [java],位于de.hybris.platform.servicelayer.internal.model.impl.wrapper.ModelWrapper.validate(ModelWrapper.java:239)〜[coreserver.jar:?]

... [java]信息[main] [TypeLocalization] 8个线程将用于本地化类型系统。 [java]错误[main] [AbstractAntPerformable] perfort任务[java] java.lang.IllegalStateException时发生错误:给定的主数据源DataSourceImpl <>似乎无效(无法连接= true),(池关闭= false)[java ]在de.hybris.platform.core.system.impl.DefaultInitLockDao.assertDataSourceValid(DefaultInitLockDao.java:91)〜[coreserver.jar :?] [java]在de.hybris.platform.core.system.impl.DefaultInitLockDao。 getInitializedMasterDataSource(DefaultInitLockDao.java:80)〜[coreserver.jar :?] [java],位于de.hybris.platform.core.system.impl.DefaultInitLockDao.readLockInfo(DefaultInitLockDao.java:112)〜[coreserver.jar :?]

... [java]线程"主"中的异常java.lang.reflect.InvocationTargetException [java]位于sun.reflect.NativeMethodAccessorImpl.invoke0(本地方法)[java]位于sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl .java:62)[java] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[java] at java.lang.reflect.Method.invoke(Method.java:498)[java] at de.hybris .bootstrap.loader.Loader.execute(Loader.java:142)[java],位于de.hybris.bootstrap.loader.Loader.main(Loader.java:118)[java]原因:源文件:内联评估: ``尝试
{de.hybris.ant.taskdefs.AntPerformable p = new de.hybris.a。 。 。 '':方法调用p.doPerform:第4行:在文件中:在线评估:``尝试
{de.hybris.ant.taskdefs.AntPerformable p = new de.hybris.a。 。 。 ":p .doPerform()[java] [java]目标异常:java.lang.IllegalStateException:给定的主数据源DataSourceImpl <>似乎无效(无法连接= true),(池关闭= false)[java] bsh.BSHMethodInvocation.eval(BSHMethodInvocation.java:97)上的[java] bsh.BSHPrimaryExpression.eval(BSHPrimaryExpression.java:102)上的[java] bsh.BSHPrimaryExpression.eval(BSHPrimaryExpression.java:47)上的[java] ]在bsh.BSHBlock.evalBlock(BSHBlock.java:130)[java]在bsh.BSHBlock.eval(BSHBlock.java:80)[java]在bsh.BSHBlock.eval(BSHBlock.java:46)[java]在 bsh.Interpreter.eval(Interpreter.java:645)的bsh.BSHTryStatement.eval(BSHTryStatement.java:86)[java]在bsh处的bsh.Interpreter.eval(Interpreter.java:739)[java]。 Interpreter.eval(Interpreter.java:728)[java]位于de.hybris.platform.util.ClientExecuter.execute(ClientExecuter.java:49)[java] ...还有6个[java]关闭了hybris注册表。/p>

付费偷看设置
发送
8条回答
haha101010
1楼-- · 2020-09-10 07:28

另外,我注意到您正在使用 com.mysql.cj.jdbc.Driver ,如果我没有记错的话,它是" Connector/J 8.0"。 尝试将此驱动程序连接到服务器的5.x发行版时,我遇到了非常糟糕的经历。

我的解决方法总是将JDBC驱动程序恢复为与服务器版本相匹配的发行版。

Climb_Ma
2楼-- · 2020-09-10 07:21

如果从 local.properties 中删除 db.customsessionsql 属性,它是否可以正常工作?

SAP浪
3楼-- · 2020-09-10 07:15

以下数据库配置对我有用,希望它也对您有用:

  db.driver = com.mysql.jdbc.Driver
  db.username = hybris
  db.password =混合
  #数据库名称为dbnew
  db.url = jdbc:mysql://localhost/dbnew
  db.customsessionsql = SET SESSION事务隔离级别已提交;
  mysql.optional.tabledefs = CHARSET = utf8 COLLATE = utf8_bin
  mysql.tabletype = InnoDB
  mysql.allow.fractional.seconds = true
  db.tableprefix =
  #添加以下内容以解决连接丢失的问题
  db.pool.maxActive = 10000
  

根据Hybris文档,您的数据库驱动程序应为mysql-connector-java-5.x-bin.jar。 但是,我将mysql-connector-java-8.0.13.jar与上述配置结合使用,效果很好。

请更改数据库名称,用户名和密码,然后尝试此经过测试的配置,而不更改/添加其他任何内容。 请注意,当我尝试在其中添加一些参数(例如, useConfigs = maxPerformance nullCatalogMeansCurrent = true characterEncoding = utf8 中的一个或多个)时, 值 db.url ,它因一个或另一个错误而失败,并且我在缺乏时间的情况下无法深入研究。

如果仍然无法使用,请在将数据库驱动程序降级(到mysql-connector-java-5.x-bin.jar)后尝试。

您可以关注 https://blogs.sap.com/2017/12/15/mysql-database-connection-to-hybris/来设置数据库。

Climb_Ma
4楼-- · 2020-09-10 07:28

到目前为止,我还没有尝试过,请参阅我的其他评论。

Cikesha
5楼-- · 2020-09-10 07:10

您是否在MacOS上运行MySQL?

打个大熊猫
6楼-- · 2020-09-10 07:26

是的,正如我在其他评论中所指出的那样,我将首先尝试使用5.x版本的连接器。 干杯。

一周热门 更多>