JDBCµå¶óÀ̹ö´Â À§¿¡¼ Àá±ñ ¾ð±ÞÇßµíÀÌ, SunÀÌ Á¦°øÇÑ ÀÎÅÍÆäÀ̽º, Áï JDBC¸¦ ±¸ÇöÇØ ³õÀº °ÍÀÔ´Ï´Ù. JDBCµå¶óÀ̹ö´Â ÇÑ ¸¶µð·Î µ¥ÀÌÅͺ£À̽º¿Í ÀÚ¹Ù ÇÁ·Î±×·¥°£ÀÇ ¹ø¿ª±â ¿ªÇÒÀ» ÇÑ´Ù°í ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ µå¶óÀ̹öµéÀº ÀÚ¹ÙÀÇ Å¬·¡½ºÀ̰í, ½ÇÇà ½Ã°£¿¡ ·Îµå µË´Ï´Ù.
±× Áß¿¡¼ ƯÈ÷ DriverManager´Â µ¥ÀÌÅͺ£À̽º µå¶óÀ̹öµéÀ» ·ÎµùÇϰí, µ¥ÀÌÅͺ£À̽º¿¡ ¿¬°áÀ» ¸¸µå´Â Ã¥ÀÓÀ» Áö´Â Ŭ·¡½ºÀÔ´Ï´Ù. ±×·¯³ª DriverManager°¡ µå¶óÀ̹ö¸¦ ±¸µ¿Çϱâ Àü¿¡, ¹Ýµå½Ã µå¶óÀ̹ö´Â µî·ÏµÇ¾î ÀÖ¾î¾ß ÇÕ´Ï´Ù. ±×¸®°í sun¿¡¼ ±âº»ÀûÀ¸·Î Á¦°øÇØ ÁÖ´Â µå¶óÀ̺êÀÌ¿ÜÀÇ ¸ðµç µå¶óÀ̺ê´Â Á÷Á¢ ±¸ÇÏ¼Å¾ß ÇÕ´Ï´Ù.
¸¸¾à, ¿©·¯ºÐÀÌ Linux¿¡¼ MySQLÀ» »ç¿ëÇÑ´Ù°í ÇßÀ» ¶§ Java¿¡¼ MySQL¿ë µå¶óÀ̺ê´Â Áö¿øÇÏÁö ¾Ê½À´Ï´Ù. ±×·¡¼ ¿©·¯ºÐÀº MySQL¿ë ÀÚ¹Ù µ¥ÀÌÅͺ£À̽º µå¶óÀ̺긦 Á÷Á¢ ±¸Çؼ Classpath¸¦ °É¾îµÎ¾î¾ß ÇÁ·Î±×·¥ÀÌ ÀÛµ¿ÇÒ °ÍÀÔ´Ï´Ù.
µå¶óÀ̹ö¸¦ µî·ÏÇÏ´Â ÇÏ´Â ¹æ¹ý¿¡´Â 2°¡Áö°¡ ÀÖ½À´Ï´Ù. ±× ¹æ¹ýµéÀ» Â÷·Ê·Î »ìÆìº¸µµ·Ï ÇÏÁÒ. ¸ÕÀú ƯÁ¤ µå¶óÀ̹ö¸¦ Á÷Á¢ ¼±ÅÃÇØ¼ ·ÎµùÇϰíÀÚ ÇÒ ¶§´Â ClassŬ·¡½ºÀÇ forName()¸Þ¼µå¸¦ ÀÌ¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ´ÙÀ½Àº MS-SQL, PostgreSQL ±×¸®°í Oracle µ¥ÀÌÅͺ£À̽ºÀÇ µå¶óÀ̹ö¸¦ ·ÎµùÇÏ´Â °ÍÀ» °¢°¢ º¸¿©ÁÖ°í ÀÖ½À´Ï´Ù.
n Class.forName(¡°sun.jdbc.odbc.JdbcOdbcDriver¡±);
n Class.forName("postgresql.Driver");
n Class.forName("oracle.jdbc.driver.OracleDriver");
µÎ ¹øÂ°·Î »ç¿ëÀڴ ƯÁ¤ µå¶óÀ̹ö¸¦ µî·ÏÇϰíÀÚ ÇÒ ¶§´Â DriverManager.registerDriver ()¸Þ¼µå¸¦ ÀÌ¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ´ÙÀ½Àº OracleDriver¸¦ DriverManager¿¡ µî·Ï½Ã۰í ÀÖ´Â °ÍÀ» º¸¿©ÁÖ°í ÀÖ½À´Ï´Ù.
n DriverManager.registerDrivers( new oracle.jdbc.driver.OracleDriver() );
±×·³ Class.forNameÀ» »ç¿ëÇÏ¿©, µå¶óÀ̹ö¸¦ ·ÎµùÇÏ´Â ¿¹Á¦¸¦ ¸¸µé¾î º¸°Ú½À´Ï´Ù.
TestJdbcOdbcDriverApp.java(À©µµ¿ì ȯ°æ¿¡¼ JdbcOdbcDriver ·Îµù ¿¹Á¦) |
import java.sql.*; public class TestJdbcOdbcDriverApp{ public static void main(String[] args){ try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); }catch(Exception e){} } } |
C:\JavaExample\19>javac TestJdbcOdbcDriverApp.java C:\JavaExample\19>java TestJdbcOdbcDriverApp |
À§ÀÇ ¿¹Á¦¿¡¼ ´«¿©°Ü º¼ ±¸¹®Àº µ¥ÀÌÅͺ£À̽º¿Í »óÈ£ Åë½ÅÇϱâ À§ÇØ Class.forName()¸Þ¼µå¸¦ »ç¿ëÇØ¼ JdbcOdbcDriver¸¦ ·ÎµùÇÏ´Â ±¸¹®ÀÔ´Ï´Ù. ÀÌ·¸°Ô ÇØ¼ class loader¿¡°Ô ·Îµå ½Ãų JdbcOdbcDriverŬ·¡½º¸¦ ¾Ë·ÁÁÖ°í ÀÖ´Â °ÍÀÔ´Ï´Ù. JDBCµå¶óÀ̹ö ¶ÇÇÑ Å¬·¡½ºÀÓÀ» ±â¾ïÇϽñ⠹ٶø´Ï´Ù. ÀÌ ¿¹Á¦´Â º°´Ù¸¥ ½ÇÇàÀº ÇÏÁö ¾Ê±â ¶§¹®¿¡, ¿¡·¯¸¸ ³ªÁö ¾Ê´Â´Ù¸é µå¶óÀ̹ö°¡ ·ÎµùµÈ °ÍÀÔ´Ï´Ù. ¸¸¾à JdbcOdbcDriver.classÆÄÀÏÀÌ sun.jdbc.odbcÆÐŰÁö³»¿¡ Á¸ÀçÇÏÁö ¾Ê´Â´Ù¸é ÀÌ ¿¹Á¦´Â ÀÚµ¿ÀûÀ¸·Î ¿¡·¯¸¦ ¹ß»ýÇÒ °ÍÀÔ´Ï´Ù. JDKµð·ºÅ丮 ³»ÀÇ src.jarÆÄÀÏ ¾ÈÀ» »ìÆì º¸½Ã±â ¹Ù¶ø´Ï´Ù. ±×·¯¸é ºÐ¸í JdbcOdbcDriver.classÆÄÀÏÀ» ãÀ¸½Ç ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù. ±×·³ ´ÙÀ½Àý¿¡¼ °£´ÜÇÏ°Ô JDBC¸¦ ±¸ÇöÇØ º½À¸·Î½á ±× Àǹ̸¦ ÆÄ¾ÇÇϵµ·Ï ÇϰڽÀ´Ï´Ù.
DriverÀÎÅÍÆäÀ̽º ÁÖ¿ä ¸Þ¼µå |
public Connection connect(String url, Properties info) throws SQLException : ÁÖ¾îÁø url°ú Á¤º¸¸¦ °¡Áö°í µ¥ÀÌÅͺ£À̽º¿¡ Á¢¼ÓÇÏ·Á ½ÃµµÇÕ´Ï´Ù. public boolean acceptsURL(String url) throws SQLException : ÁÖ¾îÁø urlÀÇ µ¥ÀÌÅͺ£À̽º·ÎÀÇ Á¢¼Ó°¡´É ¿©ºÎ¸¦ ¹ÝȯÇÕ´Ï´Ù. public DriverPropertyInfo[] getPropertyInfo(String url, Properties nfo) throws SQLException : ÁÖ¾îÁø url¿¡ ´ëÇÏ¿© µå¶óÀ̹ö°¡ ½ÇÇàÇÒ ¼ö ÀÖ´Â Á¤º¸µéÀ» ¾ò½À´Ï´Ù. |
DriverManagerŬ·¡½º ÁÖ¿ä ¸Þ¼µå |
public static Connection getConnection(String url, String user, Sting password) throws SQLException : ÁÖ¾îÁø urlÀÇ µ¥ÀÌÅͺ£À̽º¿¡ user, password Á¤º¸·Î ¿¬°áÀ» ½ÃµµÇÕ´Ï´Ù. public static void registerDriver(Driver driver) throws SQLException : »õ·Î¿î µå¶óÀ̹ö¸¦ µî·Ï½Ãŵ´Ï´Ù. public static void deregisterDriver(Driver driver) throws SQLException :µå¶óÀ̹ö ¸Å´ÏÀú ¸ñ·ÏÀ¸·ÎºÎÅÍ ÁÖ¾îÁø µå¶óÀ̹ö¸¦ »èÁ¦ÇÕ´Ï´Ù. |
jabookÀúÀÚ¸íÇÔ |
Á¦¸ñ:¼Ò¼³°°ÀºÀÚ¹Ù4ºÎ ÀúÀÚ:ÃÖ¿µ°ü |