clob blob
mysqlのメカニズムは、データベース・キャッシュ内のデータ量がtmp_に達するとtable_sizeの場合、自動的にコミットされ、tmp_ごとに次の操作が続行されます.table_sizeデータベースキャッシュのリフレッシュ
MySQLのBLOBデータは、TINYBLOBが256バイト、BLOBが64 KB、MEDIUMBLOBが16 MB、LONGBLOBが4 GBの4種類で表現されています.
CLOBタイプはデフォルトで1 m以上であれば現れる場合があります
Packet for query is too large (37748784 > 1048576). You can change this value on the server by setting the max_allowed_packet' variable
異常これは
[mysqld]下にmax_を追加allowed_packet=10 Mで制限を拡大
jdk 6にあります.0以前にclobとblobデータをデータベースに挿入する操作方法:
void setBinaryStream(int parameterIndex,java.io.InputStreamx,int length)メソッド
jdk 6.0以降は
void setClob(int parameterIndex, Reader reader)
void setBlob(int parameterIndex,InputStream inputStream)メソッドclob/blobを挿入する
読み出しは、読み出しストリームで処理するか、次のいずれかを使用できます.
clobの場合は可能です
Clobを使うgetSubString(pos,length)でもlengthはint型
または
Clob c = rs.getClob("clumn");
StringBuffer a = new StringBuffer(1024);
Reader r = c.getCharacterStream();
char[] cc = new char[1];
int i = -1;
while((i =r.read(cc))!=-1){
a.append(cc);
}
blobを読み込むには:
Blob b = rs.getBlob("clumn"); java.io.InputStream getBinaryStream()またはgetBytes(pos,length)