Posted by À±°æ±¸ on November 22, 1997 at 09:42:57:
In Reply to: ¿À¶óŬ long raw µ¥ÀÌŸ Insert & select ? posted by ¹é½Â¿ë on November 21, 1997 at 19:53:08:
Á¦ »ý°¢¿¡´Â (Å×½ºÆ®Çغ¸Áö´Â ¾Ê¾Ò¾î¿ä)
ResultSet.getBinaryStream() ¸Þ¼Òµå¸¦ »ç¿ëÇÏ´Â °ÍÀÌ ÁÁÀ» °Í °°½À´Ï´Ù.
¹°·Ð ResultSet.getBytes() ȤÀº ResultSet.getObject() ¸Þ¼Òµåµµ °¡´ÉÇÒ °Í °°Àºµ¥
±×°ÍÀº LONG RAW µ¥ÀÌÅÍÀÇ Å©±â¿¡ µû¶ó ÆÇ´ÜÇÏ¸é µÉ °Í °°³×¿ä.
JDBC ¸Å´º¾ó¿¡¼ ±ÇÀåÇÏ´Â °ÍÀº ½ºÆ®¸²À» »ç¿ëÇÏ´Â °ÍÀÔ´Ï´Ù.
JDBC ¸Å´º¾ó¿¡´Â LONGVARBINARY·Î ³ª¿ÍÀֳ׿ä.
java.sql.Statement stmt = con.createStatement();
ResultSet r = stmt.executeQuery("SELECT xxx FROM Table2");
// ÃæºÐÇÑ ¹öÆÛ¸¦ Àâ¾Æ¾ß°ÚÁö¿ä.
byte buff = new byte[4096];
while (r.next()) {
Java.io.InputStream fin = r.getBinaryStream("xxx");
for (;;) {
int size = fin.read(buff);
if (size == -1) { // at end of stream
break;
}
output.write(buff, 0, size);
}
}
java.io.File file = new java.io.File("C:\images\big.jpg");
int fileLength = file.length();
java.io.InputStream fin = new java.io.FileInputStream(file);
java.sql.PreparedStatement pstmt = con.prepareStatement(
"UPDATE Table5 SET stuff = ? WHERE index = 4");
pstmt.setBinaryStream (1, fin, fileLength);
pstmt.executeUpdate();