Pentaho 9.1 CE Server连接MySQL含timestamp/date字段报元数据错误
Pentaho 9.1 CE 连接含日期/时间类型字段的MySQL表创建数据源报错解决方案
该Error determining value metadata from SQL resultset metadata报错由Pentaho 9.1 CE自带的MySQL JDBC驱动与MySQL服务端的日期时间类型元数据解析规则不兼容导致:连接测试仅校验连通性不会触发元数据读取,创建数据源时需要拉取全表字段元数据,遇到timestamp、date类型字段就会触发解析失败。
可按以下步骤修复:
- 替换MySQL JDBC驱动
首先删除Pentaho服务路径下的旧版驱动,路径为pentaho-server/tomcat/lib/目录下所有mysql-connector-java-*.jar文件。下载MySQL 8.0.28及以上稳定版本的JDBC驱动,将新的驱动jar包放入上述pentaho-server/tomcat/lib/目录中。 - 修改JDBC连接配置
在数据源配置页的JDBC连接URL末尾追加以下参数:
&serverTimezone=Asia/Shanghai&useSSL=false&nullCatalogMeansCurrent=true&useLegacyDatetimeCode=false
请将
serverTimezone的参数值调整为和你的MySQL服务端实际时区一致,若服务端使用UTC时区则替换为UTC即可。
- 重启Pentaho服务
修改完成后完全停止Pentaho服务,再重新启动,重新走数据源创建流程即可正常生成含日期时间类型字段的数据源。
内容的提问来源于stack exchange,提问作者SaroBeatbox
相关产品推荐
相关产品推荐

