在线QQ客服:1922638
专业的SQL Server、MySQL数据库同步软件
标签:mamicode \ 类 何时 嘴唇 和 演员 ack; cti \ 字段\
1.在Navicat上测试数据库连接时,可以看到数据库连接成功。但是,当我在Kettle上连接相同的库时,我报告了一个大错误。这时候,我感到有些傻眼。
\
\
\
\
\
\错误的内容如下:
连接到数据库[测试库]时出错:com.tyky.di.core.exception.XbridgeDatabaseException:
尝试连接到数据库时发生错误
连接数据库时出错:(使用org.gjt.mm.mysql.Driver类)
对于” maxAllowedPacket”的连接设置太低。当” useServerPrepStmts = true”时,” maxAllowedPacket”必须大于8203。还要在MySQL配置文件中检查” max_allowed_packet”。
com.tyky.di.core.exception.XbridgeDatabaseException:
尝试连接数据库时发生错误
连接数据库时出错:(使用org.gjt.mm.mysql.Driver类)
对于” maxAllowedPacket”的连接设置太低。当” useServerPrepStmts = true”时,” maxAllowedPacket”必须大于8203。还要在MySQL配置文件中检查” max_allowed_packet”。
\ 位于com.tyky.di.core.database.Database.normalConnect(Database.java:374)
位于com.tyky.di.core.database.Database.connect(Database.java:323)
位于com.tyky.di.core.database.Database.connect(Database.java:285)
位于com.tyky.di.core.database.Database.connect(Database.java:275)
在com.tyky.di.core.database.DatabaseFactory中。 getConnectionTestReport(DatabaseFactory.java:76)
在com.tyky.di.core.database.DatabaseMeta.testConnection(DatabaseMeta.java:2455)上
位于com.tyky.ui.database.event.DataHandler.testDatabaseConnection(DataHandler.java:511)
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)
在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
在sun.reflect.DelegatingMethodAccessorImpl.invoke处(DelegatingMethodAccessorImpl.java:43)
在java.lang.reflect.Method.invoke(Method.java:606)
at org.pentaho.ui.xul.impl.AbstractXulDomContainer.invoke(AbstractXulDomContainer.java:329)
在org.pentaho.ui.xul.impl.AbstractXulComponent.invoke(AbstractXulComponent.java:139)
在org.pentaho.ui.xul.impl.AbstractXulComponent.invoke(AbstractXulComponent.java:123)中
at org.pentaho.ui.xul.swt.tags.SwtButton.access $ 500(SwtButton.java:26)
在org.pentaho.ui.xul.swt.tags.SwtButton $ 4.widgetSelected(SwtButton.java:119)
在org.eclipse.swt.widgets.TypedListener.handleEvent中(未知来源)
在org.eclipse.swt.widgets.EventTable.sendEvent(未知来源)处
在org.eclipse.swt.widgets.Widget.sendEvent(未知来源)上
在org.eclipse.swt.widgets.Display.runDeferredEvents(未知来源)
\ nbsp; 位于o rg.eclipse.swt.widgets.Display.readAndDispatch(未知来源)
在org.eclipse.jface.window.Window.runEventLoop(Window.java:820)
在org.eclipse.jface.window.Window.open(Window.java:796)
在org.pentaho.ui.xul.swt.tags.SwtDialog.show(SwtDialog.java:378)
在org.pentaho.ui.xul.swt.tags.SwtDialog.show(SwtDialog.java:304)
在com.tyky.di.ui.core.database.dialog.XulDatabaseDialog.open(XulDatabaseDialog.java:104)中
在com.tyky.di.ui.core.database.dialog.DatabaseDialog.open(DatabaseDialog.java:51)中
在com.tyky.di.ui.spoon.delegates.SpoonDBDelegate.editConnection(SpoonDBDelegate.java:78)中
在com.tyky.di.ui.spoon.Spoon.doubleClickedInTree(Spoon.java:3010)
at com.tyky.di.ui.spoon.Spoon.access $ 19(Spoon.java:2974)
at com.tyky.di.ui.spoon.Spoon $ 23.widgetDefaultSelected(S poon.java:5960)
在org.eclipse.swt.widgets.TypedListener.handleEvent中(未知来源)
at org.eclipse.swt.widgets.EventTable.sendEvent(未知来源)
在org.eclipse.swt.widgets.Widget.sendEvent(未知来源)上
at org.eclipse.swt.widgets.Display.runDeferredEvents(未知来源)
在org.eclipse.swt.widgets.Display.readAndDispatch(未知来源)处
在com.tyky.di.ui.spoon.Spoon.readAndDispatch(Spoon.java:1259)
在com.tyky.di.ui.spoon.Spoon.start(Spoon.java:7896)上
在com.tyky.di.ui.spoon.Spoon.main(Spoon.java:582)中
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处
在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl。java:43)
在java.lang.reflect.Method.invoke(Method.java:606)
在org.pentaho.commons.launcher。 Launcher.main(Launcher.java:134)
由com.tyky.di.core.exception.XbridgeDatabaseException引起:
连接数据库时出错:(使用org.gjt.mm.mysql.Driver类)
对于” maxAllowedPacket”的连接设置太低。当” useServerPrepStmts = true”时,” maxAllowedPacket”必须大于8203。还要在MySQL配置文件中检查” max_allowed_packet”。
\ 位于com.tyky.di.core.database.Database.connectUsingClass(Database.java:510)
位于com.tyky.di.core.database.Database.normalConnect(Database.java:358)
…43更多
原因:java.sql.SQLException:对于” maxAllowedPacket”,连接设置太低。当” useServerPrepStmts = true”时,” maxAllowedPacket”必须高于8203。还请检查MySQL配置文件中的” max_allowed_packet”。
在com.mysql.jdbc.SQLError.createSQLException(SQLError.java:996)
在com.mysql.jdbc.SQLError.createSQLException(SQLError.java:935)上
在com.mysql.jdbc.SQLError.createSQLException(SQLError.java:924)处
在com.mysql.jdbc.SQLError.createSQLException(SQLError.java:870)上
在com.mysql.jdbc.ConnectionImpl.initializePropsFromServer(ConnectionImpl.java:3305)中
在com.mysql.jdbc.ConnectionImpl.conne上ctOneTryOnly(ConnectionImpl.java:2278)
在com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2064)
在com.mysql。 jdbc.ConnectionImpl。 \ lt;初始化(ConnectionImpl.java:790)
在com.mysql.jdbc.JDBC4Connection中。 \ lt;初始化(JDBC4Connection.java:44)
在sun.reflect.GeneratedConstructorAccessor32.newInstance(未知来源)处
在sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
在com.mysql.jdbc.Util.handleNewInstance(Util.java:377)中
在com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:395)上
在com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:325)中
at java.sql.DriverManager.getConnection(DriverManager.java:571)
在java.sql.DriverManager.getConnection(DriverManager.java:215)
位于com.tyky.di.core.database.Database.connectUsingClass(Database.java:490)
…更多44
主机名 \\:172.16.200.12
端口 \ 306/>数据库名称:测试
2.解决方案:该错误是由连接的数据库中的max_allowed_packet字段引起的。解决了查询连接数据库的字段并将字段大小设置为更大的问题。有两种方法可以修改max_allowed_packet字段的大小,如下所示:
\方法1:设置with语句,但是在这种情况下,mysql重新启动后设置的值可能无效。
显示”%max_allowed_packet%”之类的变量;
设置全局max_allowed_packet = 1024 * 1024
\
\
2.1方法2:将以下语句添加到数据库下的my.ini文件中。将max_allowed_packet更改为1G。如下图所示。修改完成后,您需要重新启动mysql。
\
———————
作者:加载将强制
来源:CSDN
原著:https://blog.csdn.net/spcsdn_18785143187/article/details/81133016
版权声明:本文是博客作者的原创文章,请附上博客文章链接以进行转载!
\
与MySQL的水壶连接错误解决方案
标签:mamicode \ 类 何时 嘴唇 和 演员 ack \ cti \ 字段\
原始地址:https://www.cn.com/LXL616/p/10822833.html