App Programming/JAVA2008. 4. 10. 17:14

오라클의 LONG 타입과 MySql의 MEDIUMTEXT 타입은 LONG VARCHAR 타입!!

getString() VS getCharacterStream()

JDBC 드라이버에서 getString() 지원을 한다면 굳이 getCharacterStream()을 사용하지 않아도 된다.

String data = null; // 스트림으로 읽어 온 데이터를 저장한다.

java.io.Reader reader = null; // LONG VARCHAR 데이터를 읽어 올 스트림


try {

reader = rs.getCharacterStream("FIELD"); // 스트림을 읽어옴...


if( reader != null )

// 읽어온 스트림을 저장할 버퍼

StringBuffer buff = new StringBuffer();

char[]ch = new char[521];

int len = -1;


while( (len = reader.read(ch)) != -1 ) {

buff.append(ch, 0, len);

}

// 저장한 버퍼를 String 로 변환

data = buff.toString();


} catch( ... ) {

} finally {

if(reader != null) try { reader.close(); } catch(...) {}

}


//...data 사용





try {

String value = "...";

pstmt = conn.prepareStatement(...);

java.io.StringReader reader = new java.io.StringReader(value);

pstmt.setCharacterStream(1, reader, value.length());

} catch() {

} finally {

}



Posted by BAGE