RE:LONG RAW


[ Follow Ups ] [ Post Followup ] [ ÀÚ¹Ù ¹¯°í ´äÇϱâ ]

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);
}
}

º¸³¾ ¶§, Áï UpdateÇÒ ¶§¿¡´Â PreparedStatementÀÇ IN ÀÎÀÚ¸¦ »ç¿ëÇÏ¿© byte[]·Î ³Ñ°ÜÁÙ ¼ö Àְڳ׿ä.
Áï, setBytes()¸¦ »ç¿ëÇÏ¸é µÇ°ÚÁö¿ä.
¾Æ´Ï¸é ¾ÆÁÖ Å« µ¥ÀÌÅÍÀÏ °æ¿ì¿¡´Â ´ÙÀ½°ú °°ÀÌ ¹ÙÀÌÆ®½ºÆ®¸²À» »ç¿ëÇصµ µÇ°Ú³×¿ä.



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();

Âü°í·Î ÀÌ ¿¹Á¦µéÀº JDK 1.1.4 ¿¡ µé¾îÀÖ´Â ¹®¼­ÀÇ JDBC ºÎºÐÀ» Á¶±Ý º¯ÇüÇÑ °ÍÀÔ´Ï´Ù.


Follow Ups:



À̾ ±Û¿Ã¸®±â(´äÇϱâ)

À̸§:
E-Mail:
Á¦¸ñ:
³»¿ë:
°ü·Ã URL(¼±ÅÃ):
URL Á¦¸ñ(¼±ÅÃ):
°ü·Ã À̹ÌÁö URL:


[ Follow Ups ] [ Post Followup ] [ ÀÚ¹Ù ¹¯°í ´äÇϱâ ]