mysql - PDI 中的 MySQLNonTransientConnectionException
问题描述
我在 PDI (Kettle) 中遇到 MySQL 的问题。此错误出现在输入表读取信息的过程中。即使所有数据都成功地从基础中给出,也会出现此错误,并且可能不会影响转换。
Error comitting connection
Communications link failure during commit(). Transaction resolution unknown.
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Communications link failure during commit(). Transaction resolution unknown.
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)...
为什么会出现这个问题?
解决方案
这是一个记录在手册页中的 MySQL 错误,标题很好:My sql server has gone away。
Matt Casters(Kettle 的主要作者)在Pentaho wiki上提供了一堆解决方案,这些解决方案尚未上传到Hitachi Vantara 论坛。
Matt 的第一个解决方案是增加net_write_timeout
. 默认值为 60,他确实将其增加到 1800,提到更少可能就足够了。
为此,请编辑连接并Options
在左侧面板上选择。然后将 net_write_timeout 写在 heParameters
列中,将 1800 写为value
.
推荐阅读
- javascript - Typescript(3.8+),#private 字段的缺点是什么?
- c# - 如何使用 Grant_type 密码在 RestSharp 中使用 OAuth2
- ios - UIPageViewController 不调用委托方法(Swift 5)
- javascript - javascript中var和函数的区别
- typescript - 扁平化函数的 TypeScript 类型定义
- sql-server - 在派生列中嵌套 IF ELSE
- python - 模型不可行或无界使用 python Gurobi
- php - 使用 PHP 检查 txt 文件中的电子邮件是否存在
- c++ - 未解析的外部符号 _MsiLocateComponentW@12
- reactjs - 如何在钩子上扩展 React 功能组件?