首页 > 其他分享 >Kettle: pentaho-server-ce-9.4 : ERROR [SchemaUpdate] could not get database metadata

Kettle: pentaho-server-ce-9.4 : ERROR [SchemaUpdate] could not get database metadata

时间:2024-10-02 11:34:43浏览次数:6  
标签:SchemaUpdate jdbc java get could hibernate pentaho mysql org

PENTAHO-SERVER-CE-9.4 + MYSQL 8.0.35 + JDK1.8 :启动 提示日志内容(部分):

 

Using CATALINA_BASE: "D:\Programs\pentaho-server\tomcat"
Using CATALINA_HOME: "D:\Programs\pentaho-server\tomcat"
Using CATALINA_TMPDIR: "D:\Programs\pentaho-server\tomcat\temp"
Using JRE_HOME: "C:\Program Files\Java\jdk1.8.0_101"
Using CLASSPATH: "D:\Programs\pentaho-server\tomcat\bin\bootstrap.jar;D:\Programs\pentaho-server\tomcat\bin\tomcat-juli.jar"
10:32:28,057 INFO [PeriodicStatusLogger] Caution, the system is initializing. Do not shut down or restart the system at this time.
10:32:28,559 INFO [OSGIBoot] Checking to see if org.pentaho.clean.karaf.cache is enabled
10:32:38,932 INFO [KarafInstance]
*******************************************************************************
*** Karaf Instance Number: 1 at D:\Programs\pentaho-server\pentaho-solution ***
*** s\system\karaf\caches\default\data-1 ***
*** Karaf Port:8802 ***
*** OSGI Service Port:9051 ***
*** JMX RMI Registry Port:11099 ***
*** RMI Server Port:44445 ***
*******************************************************************************
10:32:49,951 ERROR [SchemaUpdate] could not get database metadata
java.sql.SQLNonTransientConnectionException: Public Key Retrieval is not allowed
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:110)
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97)
at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122)
at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:836)
at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:456)
at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:246)
at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:198)
at java.sql.DriverManager.getConnection(DriverManager.java:664)
at java.sql.DriverManager.getConnection(DriverManager.java:208)
at org.hibernate.connection.DriverManagerConnectionProvider.getConnection(DriverManagerConnectionProvider.java:133)
at org.hibernate.tool.hbm2ddl.SuppliedConnectionProviderConnectionHelper.prepare(SuppliedConnectionProviderConnectionHelper.java:51)
at org.hibernate.tool.hbm2ddl.SchemaUpdate.execute(SchemaUpdate.java:168)
at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:375)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1872)
at org.pentaho.platform.repository.hibernate.HibernateUtil.initialize(HibernateUtil.java:171)
at org.pentaho.platform.repository.hibernate.HibernateUtil.<clinit>(HibernateUtil.java:92)
at org.pentaho.cdf.environment.configurations.PentahoHibernanteConfigurations.getConfiguration(PentahoHibernanteConfigurations.java:30)
at org.pentaho.cdf.utils.PluginHibernateUtil.initialize(PluginHibernateUtil.java:58)
at org.pentaho.cdf.storage.StorageEngine.<clinit>(StorageEngine.java:39)
at org.pentaho.cdf.storage.StorageApi.<init>(StorageApi.java:46)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:142)

解决方式:

 

可通过增加如下参数允许客户端获得服务器的公钥:
1、在 JDBC 连接串中加入 allowPublicKeyRetrieval=true 参数;
2、在 CLI 客户端连接时加入–get-server-public-key 参数;

例如: 

主要是针对如下配置文件的修改:applicationContext-spring-security-jdbc.xml;applicationContext-spring-security-hibernate.properties;hibernate-settings.xml;mysql5.hibernate.cfg.xml以及对\META-INF\context.xml文件的修改

<Resource name="jdbc/Hibernate" auth="Container" type="javax.sql.DataSource"
factory="org.apache.tomcat.jdbc.pool.DataSourceFactory" maxActive="20" minIdle="0" maxIdle="5" initialSize="0"
maxWait="10000" username="hibuser" password="password"
driverClassName="com.mysql.cj.jdbc.Driver" url="jdbc:mysql://localhost:3306/hibernate?useUnicode=true&amp;characterEncoding=utf8&amp;useSSL=false&amp;serverTimezone=Asia/Shanghai&amp;allowPublicKeyRetrieval=true"
validationQuery="select user() " />

Quartz/type=javax.sql.DataSource
Quartz/driver=com.mysql.cj.jdbc.Driver
Quartz/url=jdbc:mysql://localhost:3306/quartz?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
Quartz/user=pentaho_user
Quartz/password=password

 

标签:SchemaUpdate,jdbc,java,get,could,hibernate,pentaho,mysql,org
From: https://www.cnblogs.com/samrv/p/18444520

相关文章

  • 26_上机动手实战演练mget批量查询api
    1、批量查询的好处就是一条一条的查询,比如说要查询100条数据,那么就要发送100次网络请求,这个开销还是很大的如果进行批量查询的话,查询100条数据,就只要发送1次网络请求,网络请求的性能开销缩减100倍2、mget的语法(1)一条一条的查询GET/test_index/test_type/1GET/test_index/te......
  • 盘点2024年远程控制黑科技,4款好用到飞起,你get了吗?
    随着数字化的浪潮,远程办公变得越来越流行。虽然有些人担心不在办公室工作,效率会降低,但实际上并不是这样。技术一直在进步,现在有很多好用的远程控制软件,它们不仅打破了地点的限制,还让在家工作也能井井有条,效率很高。今天,我们就来看看2024年特别受欢迎的四款远程控制软件,包括向日......
  • 表格控件QTableWidget
    下面说一下表格的常用方法行列数目、行表头、列表头行表头:就是表格控件的第一行,用于设置每一列的标题列表头:就是表格控件的第一列,用于设置每一行的标题,通常缺省则默认显示行号设置和获取行列的数目在添加n行或者n列数据之前,需要先把行设置为n或者列设置为n,开辟好空间,才能......
  • Qt项目中,在main.cpp中定义了一个自定义组件,但是在编译的时候报错`undefined reference
    1、问题描述我在测试Qt项目的main.cpp中编写了如下代码:classMyWidget1:publicQWidget{Q_OBJECT};//main程序入口argc命令行变量的数量argv命令行变量的数组intmain(intargc,char*argv[]){//应用程序对象,在Qt中应用程序对象有且仅有一个QAppl......
  • 如何修改Nuget包的缓存路径
    默认Nuget包的缓存路径是%userprofile%\.nuget\packages,例如C:\Users\Administrator\.nuget\packages。因为这个路径是在C盘下的,所以在使用久了以后,会导致C盘容量骤减。 正常在VisualStudio中引入Nuget包时,会先在缓存文件夹判断,如果存在,就直接复制到项目文件夹下,不存到,就到Nu......
  • getBeansOfType源码解析
    org.springframework.beans及org.springframework.context这两个包是SpringIoC容器的基础,其中重要的类有BeanFactory,BeanFactory是IoC容器的核心接口,其职责包括:实例化、定位、配置应用程序中的对象及建立这些对象间的依赖关系。ApplicationContext作为BeanFactory的子类,在Bean管......
  • 【CTF Web】Pikachu 反射型xss(get) Writeup(反射型XSS+GET请求)
    XSS(跨站脚本)概述Cross-SiteScripting简称为“CSS”,为避免与前端叠成样式表的缩写"CSS"冲突,故又称XSS。一般XSS可以分为如下几种常见类型:1.反射性XSS;2.存储型XSS;3.DOM型XSS;XSS漏洞一直被评估为web漏洞中危害较大的漏洞,在OWASPTOP10的排名中一直属于前三的江湖地位......
  • Android性能优化:getResources()与Binder交火导致的界面卡顿优化
    背景某轮测试发现,我们的设备运行一个第三方的App时,卡顿感非常明显:界面加载很慢,菊花转半天滑屏极度不跟手,目测观感帧率低于15对比机(竞品)也会稍微一点卡,但是好很多,基本不会有很大感觉的卡顿可以初步判定我们的设备存在性能问题,亟需优化,拉平到竞品水准。最后发现,这个问题实际......
  • 业务系统——钉钉调用接口上传文件报错:Could not find token at index 0
    参考:https://open.dingtalk.com/document/orgapp/initiate-approval使用的是旧版的SDK///<summary>///获取审批钉盘信息///</summary>///<paramname="userId"></param>///<paramname="to......
  • GetDeltaSeconds平滑移动避免帧率影响
    使用GetWorld()->GetDeltaSeconds()可以让游戏逻辑与帧率无关,因为它能够动态调整每一帧的计算结果,使其与帧时间成比例。具体来说,DeltaSeconds表示当前帧与上一帧之间经过的时间(以秒为单位),使用它可以让游戏逻辑根据每帧的时间变化而调整,从而保证在不同帧率下效果一致。以下是......