2

Javaプログラムを介して外部のmySQLDBに接続しようとしています。接続しようとすると、次の例外が発生します。

Exception in thread "main" com.mysql.jdbc.PacketTooBigException: Packet for query is too large (4739923 > 1048576). You can change this value on the server by setting the max_allowed_packet' variable.
at com.mysql.jdbc.MysqlIO.readPacket(MysqlIO.java:605)
at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1078)
at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2397)
at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2430)
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2215)
at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:813)
at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:399)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:334)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at Main.main(Main.java:48)

これは、この外部サーバー専用です。この問題はまったく発生せずに、セットアップしたローカルサーバーに接続できました。

私はこれについていくつかの調査を行い、/ etc/my.cnfファイルを介してクライアントのmax_allowed_pa​​cketサイズを増やすことについて話しました。私はこれを試みましたが成功しませんでした。.cnfファイルさえ見つからないので、誰かが私にこれを案内してくれるでしょうか。これは、Javaベースの接続にとっても正しいアプローチですか?

前もって感謝します。

4

1 に答える 1

3

サーバー上で、mysql構成ファイルを変更する必要があります。運用システムに基づいて見つける必要があります。https://dev.mysql.com/doc/refman/5.6/en/option-files.htmlを参照してください

これを設定するために、クライアント側で何もする必要はありません。大量のデータを送信するだけです。

于 2012-07-11T15:22:39.567 に答える