[Áöµð³ÝÄÚ¸®¾Æ]ÇÊÀÚ°¡ ´ëÇÐÀ» óÀ½ µé¾î°¡¼ ¸¸Á³´ø ÄÄÇ»ÅÍ¿¡´Â DOS°¡ ¼³Ä¡µÇ¾î ÀÖ¾ú´Ù. ¸ÞÀÎ ÇÁ·¹ÀÓ¿¡ ¿¬°áµÈ Å͹̳εµ ÀÖ¾úÁö¸¸ ÀÌ·± Å͹̳ÎÀº ½Ç½À ¶§¿Í ÇÐÁ¡°ú ¾¾¸§ÇÒ ¶§¸¦ Á¦¿ÜÇϰí´Â Å« Çʿ伺À» ¸ø ´À³¢°Ô ÇÏ´Â Á¸Àç¿´´Ù. DOS°¡ ¼³Ä¡µÈ PC´Â ÇÊÀÚ¿¡ ÇѱÛÀ» µÎ °¡Áö ¹æ½ÄÀ¸·Î º¸¿©Áá´Ù. Çϳª´Â ÇÑ±Û BIOS¶ó´Â Á¶±×¸¸ Ä«µå¸¦ ³¢¿ö¼ Áö¿øÇÏ´Â ¹æ¹ý°ú ¼ÒÇÁÆ®¿þ¾î·Î¸¸ ±¸ÇöµÈ ÇÑ±Û ¹ÙÀÌ¿À½º ÇÁ·Î±×·¥À» ÀÌ¿ëÇÏ´Â ¹æ¹ýÀÌ ±×°ÍÀÌ´Ù. ±× ´ç½Ã ÇÑ±Û ¹ÙÀÌ¿À½º ÇÁ·Î±×·¥À» ½ÇÇàÇϱâ Àü¿¡ Çѱ۷ΠµÈ ÇÁ·Î±×·¥À» ½ÇÇàÇÏ¸é ±úÁø ±ÛÀÚ°¡ ³ªÅ¸³ª ´çȲÇÏ´Â »ç¶÷µµ ¿©·µ ÀÖ¾ú´Ù. ±×¸¸Å PCÀÇ Àúº¯ÀÌ È®´ëµÈ »óÅ´ ¾Æ´Ï¾ú´Ù.
ÇÏÁö¸¸ À©µµ¿ì¸¦ Á¢ÇÏ¸é¼ ÀÌ·± °Ô ÇÊ¿ä ¾ø±¸³ª ÇÏ´Â »ý°¢¿¡ Á¤¸» ½Å±âÇØÇß´ø ±â¾ïÀÌ ³´Ù. ´õ±¸³ª À©µµ¿ì 95´Â ÇѱÛÀ» ¹®Á¦¾øÀÌ ¾µ ¼ö ÀÖ°Ú±¸³ª ½ÍÀº »ý°¢À» Àý·Î ÇÏ°Ô Çß´Ù. ÇÏÁö¸¸ °³¹ßÀÚ·Î ½Ã°¢À» ¹Ù²Û ÈÄ ÀǿܷΠ¡®Çѱۡ¯°ú °ü·ÃµÈ À̽´´Â À©µµ¿ì°¡ XP°¡ ³ª¿À°í ±â¼úÀÌ ¾Õ¼°¨¿¡µµ ºÒ±¸ÇÏ°í ²ÙÁØÈ÷ ³» ¹ß¸ñÀ» ºÙÀâ¾Ò´Ù.
DB¿¡ ¾È µé¾î°¡´Â ÇѱÛ?!
ÇÑ ¹øÀº ¸ð Åë½Åȸ»ç¿¡¼ µ¥ÀÌÅͺ£À̽º¸¦ ¸¶À̱׷¹À̼ÇÇÒ ¶§¿´´Ù. ¸î ¹øÀÇ ½ÃÇàÂø¿À¿Í Å×½ºÆ®¸¦ °ÅÄ£ »óÅ¿¡¼ ½Ã½ºÅÛ¿¡ Á¢¼ÓµÇ´Â ¸ðµç Ŭ¶óÀ̾ðÆ®ÀÇ ¿¬°áÀ» ²÷°í µ¥ÀÌÅͺ£À̽º¸¦ ÀͽºÆ÷Æ®/ÀÓÆ÷Æ®Çß´Ù. ÁøÇà »óÅ´ Á¤»óÀûÀ̾úÀ¸¸ç ÀÓÆ÷Æ®°¡ ¿Ï·áµÇÀÚ ÇÁ·ÎÁ§Æ® ÆÀÀº ±â»Û ¸¶À½À¸·Î ÀÚ¸®¸¦ ¶ß·Á°í Çß´Ù. ÇÏÁö¸¸ Å×½ºÆ® ÆäÀÌÁö¸¦ È®ÀÎÇÏ´Ï ÇѱÛÀÌ ÀüºÎ ±úÁ® ³ª¿À´Â °ÍÀÌ ¾Æ´Ñ°¡. ±×¸®ÇÏ¿© ¿ø·¡ ¿î¿µÁßÀÌ´ø µ¥ÀÌÅͺ£À̽º·Î ¿î¿µ¿¡ µé¾î°¬°í, ÇÁ·ÎÁ§Æ® ÆÀÀº ´Ù¸¥ ½ºÄÉÁìÀ» Àâ°í ´Ù½Ã µ¥ÀÌÅͺ£À̽º¸¦ ÀÌÀüÇØ¾ß¸¸ Çß´Ù.
¿øÀÎÀº ¿£Áö´Ï¾î Áß ´©±º°¡°¡ ¾ð¾î ¼³Á¤À» ¹Ù²ã ³õÀº Å¿¿¡ ÀÓÆ÷Æ®½Ã ¹®ÀÚ ¼ÂÀÌ ±úÁ® µé¾î°£ °ÍÀ¸·Î ¹àÇôÁ³´Ù. ÀÌ·Î ÀÎÇØ ´ÙÀ½ À¯Áöº¸¼ö ÀÏÁ¤±îÁö ½Ã½ºÅÛ Àüȯ ÀÏÁ¤ÀÌ Áö¿¬µÇ´Â ¾î·Á¿òÀ» °Þ¾î¾ß¸¸ Çß´Ù. ÀÌ »ç°ÇÀº »ç¼ÒÇÑ °ÍºÎÅÍ ¸ðµÎ üũÇÏ°í ½Å°æ¾²´Â ¼¼½ÉÇÔÀ» ¹è¿ì±â´Â °è±â°¡ µÇ±âµµ Çß´Ù. ÀÌ·¸µí Çѱ۷ΠÀÎÇÑ ¹®Á¦´Â µ¥ÀÌÅͺ£À̽º»Ó¸¸ ¾Æ´Ï¶ó ÀÏ»óÀûÀÎ °³¹ß ¾÷¹«¿¡¼µµ ¹®Á¦°¡ µÈ´Ù. ´ÙÀ½°ú °°ÀÌ °£´ÜÇÑ Å×À̺íÀ» ¸¸µé¾î º¸ÀÚ.
create table test
(no number(2),
sex varchar2(2),
name varchar2(20)
);
±×¸®°í Å×ÀÌºí¿¡ ÇѱÛÀ» Á¤ÇØÁø ±ÛÂ¥¸¸Å ³Ö¾îº¸ÀÚ. ÀÚ¹Ù·Î °£´ÜÇÑ JDBC ÇÁ·Î±×·¥À» ¸¸µé¾î º¸°Ú´Ù.
import java.sql.*;
import java.util.*;
class DBInsert{
public static void main(String[] args) throws Exception{
java.util.Date t1 = new java.util.Date();
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
Connection conn = DriverManager.getConnection(
"jdbc:oracle:thin:@123.123.122.11:1521:ora8i","scott","tiger");
Statement stmt = conn.createStatement();
ResultSet rs = null;
StringBuffer sql = new StringBuffer();
try
{
sql.append("insert into test values('1', 'xy', '°¡³ª´Ù¶ó¸¶¹Ù»ç¾ÆÀÚÂ÷')");
rs = stmt.executeQuery(sql.toString());
System.out.println("OK");
}
catch (Exception e){
e.printStackTrace();
}
finally{
if(rs != null) try{rs.close();} catch(Exception e){}
if(stmt != null) try{stmt.close();} catch(Exception e){}
if(conn != null) try{conn.close();} catch(Exception e){}
}
}
}
ÀÌ ÇÁ·Î±×·¥À» ½ÇÇàÇÏ¸é ´ÙÀ½°ú °°Àº ¿¡·¯¸¦ ¸¸µé¾î ³½´Ù.
[papabear@mock maso]$ java DBInsert
java.sql.SQLException: ORA-01401: inserted value too large for column
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:114)
at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:208)
at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:542)
at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1311)
at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(TTC7Protocol.java:738)
at oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.java:1313)
at oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStatement.java:1232)
at oracle.jdbc.driver.OracleStatement.doExecuteWithBatch(OracleStatement.java:1353)
at oracle.jdbc.driver.OracleStatement.doExecute(OracleStatement.java:1760)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1805)
at oracle.jdbc.driver.OracleStatement.executeQuery(OracleStatement.java:410)
at DBInsert.main(DBInsert.java:18)
ÇÑ±Û ÇÑ ±ÛÀÚ¸¦ 2¹ÙÀÌÆ®·Î °è»êÇÏ¸é ºÐ¸í varchar2(20) Ä÷³¿¡ µé¾î°¡¾ß Çϴµ¥ ¾È µé¾î°¡´Ï ÀÌ»óÇÑ ³ë¸©ÀÌ´Ù. ´õ±º´Ù³ª ¿À¶óŬ¿¡¼ ´øÁö´Â ¿¡·¯ ³»¿ëÀº ´õ °¡°üÀÌ´Ù. ±ÛÀÚ ¼ö°¡ 10°³¶ó´Â °ÍÀº ¼¼¾îº¸Áö ¾Ê¾Æµµ µÉ Á¤µµÀÇ ÀûÀº ÅØ½ºÆ®Àε¥ ±× Ä÷³¿¡ µé¾î°¡±â¿¡ ³Ê¹« Å©´Ù´Â °ÍÀÌ´Ù.