mysql:2111
From: Shin-ichi Tsurunaga <Shin-ichi Tsurunaga <ml-shin@xxxxxxxxxx>>
Date: Wed, 24 May 2000 20:32:40 +0900
Subject: [mysql 02111] Re: about MySQL JDBC Driver
鶴長です。 > で、そのソースを見ていると、MySQLのプロトコルにもバージョンがあるんだ >なとか、サーバーがキャラクタセットを取得できるんだな、とか分かったので >すが、詳しくは理解していません。 私もマルチバイトに対応していることに気づいたのは、さんざん苦労して、String をいったんbyte[]に落とし、改めて new String(b.getbyte("EUC_JP")) とか、さんざん苦労したあげく、ちょっとソースを覗いて、JDBC内部でencode されていることに気づきました。(この間2週間くらい) で、ちゃんとbook.htmlを読んでみると、ちゃんとマルチバイトの話が書いて ありました。 Class.forName("org.gjt.mm.mysql.Driver"); dbname = "jdbc:mysql://" + データベースサーバー名+ "/テーブル名?useUnicode=true&characterEncoding=EUC_JP"; Connection db = DriverManager.getConnection(dbname,ユーザー名,パスワード); "EUC_JP"は"SJIS"に置き換えることも、他のJavaで定義されているエンコード 法に置き換えることも出来るしで、悩んでいた2週間は何だったのかと思いつつ、 bookを印刷して読み返しています。 > > ところで、私が修正した gwe JDBC Driver ですが、MEDIUMBLOBなどのカラム >に巨大なデータを格納しようと試みました。しかし、600000バイト程度のバイナ ........ 試してみました。確かに下記のエラーを吐きます。ちょっと長いですが書いてお きます。(サーバーの該当カラムはちゃんとLONGBLOBで宣言されています。) java.lang.IllegalArgumentException: Packet is larger than max_allowed_packet from server configuration of 1048576 bytes at org.gjt.mm.mysql.Buffer.ensureCapacity(Buffer.java, Compiled Code) at org.gjt.mm.mysql.Buffer.writeBytesNoNull(Buffer.java:421) Buffer.javaを少し覗いてみます。 ---- Shin-ichi Tsurunaga shin@xxxxxxxxxx
2096 2000-05-23 22:00 [Tomohiro Takahashi <] about MySQL JDBC Driver 2105 2000-05-24 15:58 ┗[Shin-ichi Tsurunaga ] 2108 2000-05-24 18:16 ┣[Tomohiro KATO <tomop] 2112 2000-05-24 21:10 ┃┗[Shin-ichi Tsurunaga ] 2110 2000-05-24 19:49 ┗[Tomohiro Takahashi <] -> 2111 2000-05-24 20:32 ┗[Shin-ichi Tsurunaga ] 2113 2000-05-24 22:29 ┗[Tomohiro Takahashi <] 2114 2000-05-24 23:52 ┗[Tomohiro Takahashi <] 2116 2000-05-25 12:15 ┗[Shin-ichi Tsurunaga ]