· KLDP.org · KLDP.net · KLDP Wiki · KLDP BBS ·
Linuxdoc Sgml/Pg_hba-KLDP

Æ÷½ºÆ®±×·¹½ºÀÇ pg_hba.conf È°¿ë

Æ÷½ºÆ®±×·¹½ºÀÇ pg_hba.conf È°¿ë

TPLUG(µ¿¸íÁ¤º¸´ëÇб³ POWER LINUX USER GROUP) ÁÖ È¿½Ä nogadax@kldp.org

2000³â 4¿ù4ÀÏ
ÀÌ ¹®¼­´Â Æ÷½ºÆ®±×·¹½ºÀÇ ÀÎÁõ ¹æ½ÄµîÀÇ È¯°æ¼³Á¤ ÆÄÀÏÀÎ pg_hba.conf¸¦ ¼³¸íÇÏ°í, ÀÌ¿¡ µû¸¥ »ç¿ë»óÀÇ ¿¹Á¦µîÀ» Á¦½ÃÇÏ°íÀÚ ÇÑ´Ù. ¶ÇÇÑ, JDBC ¸¦ ÀÌ¿ëÇÑ connection ¿¹Á¦¸¦ º¸¿©ÁØ´Ù.

1. Domain Socket

pg_hba.conf ¼³Á¤Àº µÎ°¡ÁöÀÇ ¹æ¹ýÀÌ ÀÖ´Ù. ù°´Â Unix Domain Socket ¹æ¹ýÀÌ°í µÑ°´Â Internet Domain Socket ¹æ¹ýÀÌ´Ù.

´ÙÀ½Àº ÀÌµé ¹æ¹ýÀÇ ¼³¸íÀÌ´Ù.

socket À̶õ unix »óÀÇ ÇÁ·Î¼¼½º°£ Åë½ÅÀ» À§ÇØ »ç¿ëµÇ´Â ¸ÞÄ«´ÏÁòÀ¸·Î¼­, ÀÌ·¯ÇÑ Åë½Å¿¡´Â µ¿ÀÏÇÑ ±â°è»óÀÇ ÇÁ·Î¼¼½º°£ Åë½Å°ú ³×Æ®¿öÅ© ÇÁ·ÎÅäÄÝÀ» ÀÌ¿ëÇÏ´Â ³×Æ® ¿öÅ©»óÀÇ ÇÁ·Î¼¼½º°£ Åë½ÅÀÌ ÀÖ´Ù.

socket Àº domain À̶ó´Â °øÅëµÈ Åë½Å Ư¼º¿¡ µû¶ó ºÐ·ùµÇ¸ç, µ¿ÀÏÇÑ ±â°è»óÀÇ ÇÁ·Î¼¼½º°£ Åë½ÅÀ» Unix Domain SocketÀ̶óÇÏ°í, ³×Æ®¿öÅ©»óÀÇ ÇÁ·Î¼¼½º°£ Åë½Å À» Internet Domain Socket (ȤÀº TCP/IP Domain Socket )¶ó ÇÑ´Ù.

Unix Domain SocketÀÇ ÁÁÀº ¿¹·Î´Â telnet À» ÅëÇÑ telnet µð¸ó°ú Æ÷½ºÆ®±×·¹½º µð¸ó°úÀÇ Åë½ÅÀÌ´Ù.

Internet Domain SocketÀÇ ÁÁÀº ¿¹·Î´Â ODBC ³ª JDBC ¸¦ ÅëÇØ ¿ø°ÝÁö Áï, ´Ù¸¥ ±â°è»ó¿¡¼­ JDBC¸¦ ÀÌ¿ëÇÑ Å¬¶óÀ̾ðÆ® ÇÁ·Î¼¼½º¿Í Æ÷½ºÆ®±×·¹½º µð¸ó°úÀÇ Åë½ÅÀÌ´Ù. ±×·¯¹Ç·Î JDBC ȤÀº, ODBC ¸¦ ÅëÇØ Æ÷½ºÆ®±×·¹½º DB¼­¹ö¿ÍÀÇ connection À» ¼³Á¤ÇÏ ·ÁÇÒ¶§ pg_hba.conf ÀÇ ¼³Á¤Àº Internet Domain Socket ¹æ½ÄÀ¸·Î ¼³Á¤ÇÏ¿©¾ß ÇÑ´Ù.

¸¸¾à 127.0.0.1 ÀÎ IP Address °¡ µ¿ÀÏÇÑ ±â°è»óÀÇ ÇÁ·Î¼¼½º°£ Åë½ÅÀ» À§ÇØ »ç¿ëµÇ¾ú´Ù ÇÒÁö¶óµµ 127.0.0.1 Àº ³×Æ®¿öÅ©»óÀÇ Æ¯¼öÇÑ IP À̹ǷΠÀÌ´Â ³×Æ®¿öÅ© ÇÁ·ÎÅäÄÝÀ» ÀÌ¿ëÇÏ´Â ³×Æ®¿öÅ©»óÀÇ ÇÁ·Î¼¼½º°£ Åë½ÅÀÌ´Ù. ±×·¯¹Ç·Î ÀÌ´Â Internet Domain Socket ÀÌ µÈ´Ù.

2. pg_hba.conf ¼³Á¤

(postgresql Host-Based-Access Control)

º¸Åë pg_hba.conf ´Â $PGDATA µð·ºÅ丮¿¡ Á¸ÀçÇÑ´Ù. ¿¹·Î¼­ Æ÷½ºÆ®±×·¹½ºÀÇ µðÆúÆ® µð·ºÅ丮´Â /usr/local/pgsqlÀÌ´Ù. ±×¸®°í PGDATA ÀÇ °ªÀº º¸Åë /usr/local/pgsql/data ÀÌ´Ù.

pg_hba.conf ÆÄÀÏÀº ÀϹÝÀûÀ¸·Î ·¹ÄÚµåµé·Î ÀÌ·ç¾îÁ® ÀÖÀ¸¸ç ·¹ÄÚµå¶õ ƯÁ¤ÇÑ ÇüŸ¦ Áö´Ñ ÇϳªÀÇ ¶óÀÎÀÌ´Ù. ¶óÀÎÀÇ Á¦ÀÏ ¾Õ¿¡ # ·Î µÇ¾î ÀÖÀ¸¸é ÀÌ´Â ÁÖ¼® 󸮰¡ µÇ¾î ÀÖ´Â °ÍÀÌ´Ù. ¶ÇÇÑ ¶óÀÎÀÌ °ø¶õÀ̸é ÀÌ´Â ¹«½ÃµÇ¾î Áø´Ù.

pg_hba.conf ÀÇ ·¹ÄÚµå´Â µÎ°¡Áö·Î ºÐ·ùµÇ¸ç Çϳª´Â Unix Domain Socket ÇüÀÌ¸ç ´Ù¸¥ Çϳª´Â Internet Domain Socket(TCP/IP Domain) ÇüÀÌ´Ù.

2.1 Unix Domain Socket ¼³Á¤

·¹ÄÚµå Çü½Ä
   
 local  database  authentication method  

 : localÀº unix domain socket ¹æ½ÄÀÇ ¿¬°áÀ» Çã¿ëÇÑ´Ù. 
   database ´Â ¿¬°áÀ» Çã¿ëÇÏ·Á´Â database ÀÌ¸ç ¸ðµç 
   database ¿¡ ¿¬°áÀ» Çã¿ëÇÏ·Á¸é all À» ÀûÀ¸¸é µÈ´Ù. 
   authentication method ´Â »ç¿ëÀÚ ÀÎÁõ¹æ½ÄÀ» ¼³Á¤ÇÑ´Ù. 


¿¹ 1)
  
 local   all          trust 
   
 : local ¿¡¼­ ¸ðµç µ¥ÀÌŸº£À̽º(all)¿¡ ´ëÇÑ ¿¬°áÀ» Çã¿ëÇϸç
   Á¢¼ÓÇÏ·Á´Â »ç¿ëÀÚµéÀº ¸ðµÎ ¹ÏÀ»¼ö ÀÖ´Â(trust) »ç¿ëÀÚ·Î
   ÀÎÁ¤ÇÏ¸ç º°´Ù¸¥ ÀÎÁõÀýÂ÷¸¦ °ÅÄ¡Áö ¾Ê°í ¹Ù·Î Á¢¼ÓÇÒ ¼ö ÀÖ´Ù. 


 psqlÀ» ÅëÇÑ Á¢¼Ó :
           
  psql template1
  
  
¿¹ 2) 
  
 local   template1    crypt

 : local ¿¡¼­ template1 µ¥ÀÌŸº£À̽º¿¡¸¸ Á¢¼ÓÀ» Çã¿ëÇϸç ÀÎÁõ
   ÀýÂ÷·Î crypt ¹æ½ÄÀ» °ÅÄ£´Ù. crypt´Â »ç¿ëÀÚ¿¡ ´ëÇÑ Æнº¿öµå¸¦
   ¹¯°í ÀÌ Æнº¿öµå´Â ¾ÏȣȭµÇ¾î º¸³»¾îÁøÈÄ pg_shadow¶ó´Â ÆÄÀÏ¿¡
   ÀÖ´Â Æнº¿öµå¿Í ºñ±³ÇÑ´Ù. ºñ±³µÈ Æнº¿öµå°¡ ¸Â¾Æ ¶³¾îÁö¸é
   Á¢¼ÓÀÌ Çã¿ëµÈ´Ù.


 psqlÀ» ÅëÇÑ Á¢¼Ó : 
      
  psql -u template1
         
  (-u ¿É¼ÇÀº À¯Àú¸í°ú Æнº¿öµå¸¦ ¹¯´Â´Ù)
  

2.2 Internet Domain Socket ¼³Á¤

·¹ÄÚµå Çü½Ä 
   
host   databse  IP  IP_mask  auth  method

 : jdbc ¿Í °°Àº Ä¿³Ø¼ÇÀ» ÅëÇØ Åë½ÅÀ» ÇÏ´Â client µéÀÌ
   ¿¬°áÀ» ÇÏ·ÁÇÒ ¶§ Çã¿ëÇϰųª ºÒÇ㸦 À§ÇØ ¼³Á¤ÇÑ´Ù.
   (Áï, ´Ù¸¥ È£½ºÆ®¿¡¼­ Á÷Á¢ Æ÷½ºÆ®±×·¹½ºÀÇ »ç¿ëÀÚ °èÁ¤
   À¸·Î ¿¬°áÀ» ÇÏ·ÁÇÒ ¶§)
   
   host  template1  210.110.144.161  255.255.255.255  crypt

   : 210.110.144.161 ÀÇ IP ¸¸ÀÌ crypt ¹æ½ÄÀ¸·Î template1
    µ¥ÀÌŸº£À̽º¿¡ Á¢¼ÓÀ» Çã¿ëÇÑ´Ù.
    
   host  all        0.0.0.0          0.0.0.0          password
   
   : ¸ðµç µ¥ÀÌŸº£À̽º¿Í ¸ðµç IP ÁÖ¼ÒµéÀÌ password ¹æ½ÄÀ¸·Î
     Á¢¼ÓÀ» ÇÒ¼ö°¡ ÀÖ´Ù.
     
 

2.3 Authentication method(ÀÎÁõ ¹æ¹ý)

TRUST :    º°´Ù¸¥ ÀÎÁõ ÀýÂ÷¾øÀÌ ¹Ù·Î Çã¿ëÇÑ´Ù.

REJECT :   ¹«Á¶°Ç Á¢¼ÓÀ» °ÅºÎÇÑ´Ù.
    
CRYPT :    À¯ÀúÀÇ Æнº¿öµå¸¦ ¹¯´Â´Ù. À̶§ Æнº¿öµå´Â
           ¾ÏȣȭµÇ¾î Æ÷½ºÆ®±×·¹½º¿¡°Ô º¸³»¾îÁø´Ù. 
                 
PASSWORD : À¯ÀúÀÇ Æнº¿öµå¸¦ ¹¯´Â´Ù. À̶§ Æнº¿öµå´Â
           ¾ÏȣȭµÇÁö ¾ÊÀº ¹®ÀÚ ±×´ë·Î ¼­¹öÃøÀÎ
           Æ÷½ºÆ®±×·¹½º¿¡°Ô º¸³»¾îÁø´Ù.

    
´ÙÀ½ÀÇ ÀÎÁõ ¹æ¹ýÀº TCP/IP Domain ¿¡¸¸ ÇØ´çµÈ´Ù.
    
 krb4  : Kerberos V4
 krb5  : Kerberos V5
 ident : Ŭ¶óÀ̾ðÆ® »óÀÇ ident ¼­¹ö°¡ »ç¿ëµÇ¾îÁö¸ç
         $PGDATA/pg_ident.conf ¸¦ µû·Î ¼³Á¤ÇÏ¿©¾ß
         ÇÑ´Ù. 
    

¶ÇÇÑ, ³×Æ®¿öÅ© »óÀÇ Ä¿³Ø¼ÇÀ» ÇÏ·ÁÇÒ ¶§ ³í¸®ÀûÀÎ º¸¾È ÅͳÎÀ» »ç¿ëÇÏ´Â ¹æ¹ýÀÌ ÀÖ´Ù. ÀÌ´Â ssh º¸¾È ±â¹ýÀ» Àû¿ëÇÑ °ÍÀ¸·Î Ŭ¶óÀ̾ðÆ®¿Í Æ÷½ºÆ® ±×·¹½º ¼­¹ö »çÀÌÀÇ ³×Æ®¿öÅ© ÄÁ³Ø¼ÇÀ» ssh¸¦ ÀÌ¿ëÇÏ¿© ¾ÏÈ­È­ÇÒ ¼ö ÀÖ´Ù. ÀûÀýÇÑ Àû¿ëÀ¸·Î ¾ÈÀüÇÑ ³×Æ®¿öÅ© ÄÁ³Ø¼ÇÀ» ¸¸µé ¼ö ÀÖ´Ù.

    Âü°í»çÀÌÆ®´Â ´ÙÀ½°ú °°´Ù.
    
         http://www.heimhardt.de/htdocs/ssh.html

3. ¼³Á¤ Å×½ºÆ®

3.1 Æ÷½ºÆ®±×·¹½º ½´ÆÛÀ¯Àú Æнº¿öµå

Å×½ºÆ®¸¦ À§ÇØ postgres ÀÇ ½´ÆÛ À¯Àú °èÁ¤ÀÇ Æнº¿öµå¸¦ ¸¸µé¾î¾ß ÇÑ´Ù. ÀÌ Æнº¿öµå´Â ´ÜÁö Æ÷½ºÆ®±×·¹½º¿¡ Á¢¼ÓÀ» À§ÇÑ °ÍÀ̸ç telnet ¿¡ ·Î±äÀ» À§ÇÑ Æнº¿öµå´Â ¾Æ´Ï´Ù.

¿©±â¼­ Æ÷½ºÆ®±×·¹½ºÀÇ ½´ÆÛÀ¯Àú °èÁ¤À» postgres ÀÌ°í Æнº¿öµå´Â nogadax¶ó°í °¡Á¤Çϸç ÀÌ¿¡ ´ëÇÑ ÀýÂ÷´Â ´ÙÀ½°ú °°´Ù.

   
´Ü°è 1)
    
[postgres@nogadax postgres]$ psql  template1
template1=> alter user postgres with password "nogadax";
...
template1=>\q

´Ü°è 2)
    
[postgres@nogadax postgres]$ vi $PGDATA/pg_hba.conf
...........
À̺κп¡¼­ ¸¶Áö¸· ºÎºÐÀÇ ¶óÀÎÀ» ÁÖ¼®Ã³¸®ÇÑ ÈÄ 
"local  all  crypt" À»  Ãß°¡ÇÑ´Ù.
±×·± ÈÄ ÀúÀåÇÏ°í ºüÁ® ³ª¿Â´Ù. 
...........

´Ü°è 3) 
    
[postgres@nogadax postgres]$ psql -u template1
username : postgres
passwd   : nogadax
template1=>create user testusr with password "testusr" creatdb;
...........
template1=>select usename from pg_user;
     
usename
----------
 postgres
 testusr
 (2rows)
     
template1=>\q


´Ü°è 4)
    
[postgres@nogadax postgres]$ psql -u template1
  username : testusr
  password : testusr
    
 template1=>\q
[postgres@nogadax postgres]$ 

3.2 ´Ù¾çÇÑ ¼³Á¤ ¿¹Á¦


¿¹ 1) ´ÙÀ½Àº °¡Á¤ ÀϹÝÀûÀÎ ¼³Á¤ÀÌ´Ù. 

  local  all  trust
  host   all  127.0.0.1  255.255.255.255  trust

local ¸¦ ÅëÇØ ¸ðµç(all) µ¥ÀÌŸº£À̽º¿¡ ´ëÇÑ Á¢¼ÓÀ» Çã¿ëÇϸç 
host ÀÇ IP°¡ 127.0.0.1 ÀÎ Á¢¼ÓÀ» Çã¿ëÇÑ´Ù. 

¿¹ 2) crypt ¼³Á¤ 
     
crypt ¿¡ ´ëÇÑ ¼³Á¤Àº ¹Ì¸® À¯Àú¸í°ú Æнº¿öµå°¡ ¼³Á¤µÇ¾î ÀÖ¾î¾ß
ÇÑ´Ù. ¶ÇÇÑ psql Á¢¼Ó½Ã -u ¿É¼ÇÀ» Àû¿ëÇÏ¿µ¾ß ÇÑ´Ù. 
        
  local  all  crypt 
  host   all  210.110.144.161  255.255.255.255  crypt
        
¿¹ 3) reject ¼³Á¤ 

  host  all  210.110.144.161  255.255.255.255  reject
       
210.110.144.161 ÀÇ IP ¸¦ °¡Áø °÷À¸·ÎºÎÅÍÀÇ Á¢¼ÓÀ» Çã¿ëÇÏÁö
¾Ê´Â´Ù. Áï, °ÅºÎÇÑ´Ù(reject)
       
¿¹ 4) password ¼³Á¤ 

 host  all  210.110.144.161 255.255.255.255  password 

4. JDBC CONNECTION Å×½ºÆ®

1. Ŭ¶óÀ̾ðÆ®´Â power linux 2 ¸¦ »ç¿ëÇÏ¿´°í ¼­¹ö·Î´Â accel ¸®´ª½º6.2 ¸¦ »ç¿ëÇÏ¿´´Ù. Æ÷½ºÆ®±×·¹½º´Â 7.0 beta3 À» »ç¿ëÇÏ¿´°í jdk1.2.2 ¸¦ »ç¿ëÇÏ¿´´Ù.

2. Å×½ºÆ®¸¦ À§ÇØ Å¬¶óÀ̾ðÆ®¿¡ Æ÷½ºÆ®±×·¹½º JDBC µå¶óÀ̹ö¸¦ ¼³Ä¡ÇÏ¿©¾ß ÇÏ¸ç ¼³Ä¡½Ã ÁÖÀÇÇÒ Á¡ÀÌ ÀÖ´Ù. ¸¸¾à jdk1.1.x ¸¦ »ç¿ëÇÑ´Ù¸é Æ÷½ºÆ®±×·¹½º JDBC1 À» »ç¿ëÇÏ¿©¾ß Çϸç jdk1.2.x ¸¦ »ç¿ëÇÑ´Ù¸é Æ÷½ºÆ®±×·¹½º JDBC2 ¸¦ »ç¿ëÇÏ¿©¾ß ÇÑ´Ù.

3. Ŭ¶óÀ̾ðÆ®¿¡ JDBC µå¶óÀ̹ö ¼³Ä¡

¸ÕÀú Æ÷½ºÆ®±×·¹½º JDBC µå¶óÀ̹ö¸¦ Ŭ¶óÀ̾îÆ®ÃøÀÇ Àû´çÇÑ µð·ºÅ丮¿¡ º¹»çÇÑ´Ù. ¿©±â¼­´Â /usr/local/lib/jdbc_post/ µð·ºÅ丮¿¡ º¹»çÇÏ¿´´Ù. ±×·± ÈÄ CLASSPATH ¸¦ Àâ¾ÆÁØ´Ù. ´ÙÀ½Àº CLASSPATH ¼³Á¤ ¿¹ÀÌ´Ù.

     
  CLASSPATH=/usr/local/lib/jdbc_post/postgresql.jar:.
  export  CLASSPATH
      

4. Æ÷½ºÆ®±×·¹½º ¼­¹öÀÇ pg_hba.conf ¸¦ ÀûÀýÈ÷ ¼öÁ¤ÇØÁÖ¾î¾ß ÇÑ´Ù. Å×½ºÆ®ÇÒ JDBC ¼Ò½º ¿¹Á¦¸¦ ¼öÇàÇÒ Å¬¶óÀ̾ðÆ®ÀÇ IP °¡ "210.110.144.161" À̶ó°í °¡Á¤ÇÏ°í Æ÷½ºÆ®±×·¹½º DB ¼­¹öÀÇ IP ÁÖ¼Ò´Â "210.110.144.162"¶ó°í °¡Á¤ÇÑ´Ù. Å×½ºÆ®ÀÇ ¼öÇà¿¡ ¾Õ¼­ DB ¼­¹öÃø¿¡ IP ÁÖ¼Ò°¡ "210.110.144.161"ÀΠŬ¶óÀ̾ðÆ®Ãø¿¡ ´ëÇÑ ÀÎÁõ ¼³Á¤À» ÇÏ¿©¾ß ÇÑ´Ù. ¼³Á¤Àº ´ÙÀ½°ú °°ÀÌ pg_hba.conf ¿¡ ´ÙÀ½ ¶óÀÎÀ» ÀûÀýÈ÷ Ãß°¡ÇÏ¿©¾ß ÇÑ´Ù.

 host all 210.110.144.161 255.255.255.255  crypt
      

5. Æ÷½ºÆ®±×·¹½º¿ëÀÇ ÀûÀýÇÑ ¿¹Á¦ ÇÁ·Î±×·¥À» º¹»çÇÑ ÈÄ ÄÄÆÄÀÏ ÇÑ´Ù. ¿©±â¼­´Â basic.java ¸¦ °¡Áö°í Å×½ºÆ® ÇÑ´Ù. Æ÷½ºÆ®±×·¹½º JDBC °ü·Ã ¿¹Á¦ ÇÁ·Î±×·¥Àº Æ÷½ºÆ®±×·¹½ºÀÇ ¼Ò½º µð·ºÅ丮ÀÇ /src/interfaces/jdbc/example µð·ºÅ丮¿¡ ÀÖ´Ù.

¶ÇÇÑ basic.java ¼Ò½ºÀÇ Á¦ÀÏ Ã¹ ¶óÀÎÀÇ "package example;"À» ÀûÀýÈ÷ ó¸®ÇÑ´Ù. (ÁÖ¼®Ã³¸®³ª »èÁ¦µî..)

ÄÄÆÄÀÏÀº ´ÙÀ½Ã³·³ ÇÑ´Ù.

javac basic.java 

½ÇÇàÀº ´ÙÀ½Ã³·³ ÇÑ´Ù.

java basic jdbc:postgresql://210.110.144.162/template1 postgres nogadax

À§ÀÇ IP ¾îµå·¹½º "210.110.144.162" ´Â Æ÷½ºÆ®±×·¹½º°¡ ÀÖ´Â ¼­¹öÀÇ IP ÀÌ°í "template1"Àº Á¢¼ÓÇÏ¿© Å×½ºÆ®ÇÏ·Á´Â µ¥ÀÌŸº£À̽º¸íÀÌ´Ù. "postgres"´Â Á¢¼ÓÀ» ÇÏ·ÁÇÏ´Â Æ÷½ºÆ®±×·¹½º ÀÇ DB »ç¿ëÀÚ¸íÀÌ°í "nogadax" ´Â Æнº¿öµåÀÌ´Ù.

IP ´Â ÀÚ½ÅÀÇ ¼­¹ö¿¡ ¸Â°Ô ÀûÀýÈ÷ º¯°æÇØÁØ´Ù. ¸¸¾à ÇϳªÀÇ ¼­¹ö»ó¿¡¼­ Å×½ºÆ®¸¦ ÇÏ·ÁÇÑ´Ù¸é IP´Â 127.0.0.1 À̸ç pg_hba.conf ÀÇ ¼³Á¤Àº ´ÙÀ½°ú °°´Ù.

       host all 127.0.0.1 255.255.255.255  crypt 
                

5. ±âŸ

Domain Socket ¿¡ ´ëÇÑ ³»¿ëÀº "Unix ÀÇ ³»ºÎ ±¸Á¶"(È«¸ª °úÇÐ ÃâÆÇ»ç,Á¶À¯±Ù ¿ª)ÀÇ "ÇÁ·Î¼¼½º°£ Åë½Å"ºÎºÐÀ» ÂüÁ¶ÇÏ¿´´Ù.

pg_hba.conf ´Â Æ÷½ºÆ®±×·¹½ºÀÇ Admin's Guide ÀÇ "SECURITY" ºÎºÐÀ» ÂüÁ¶ÇÏ¿´´Ù.

Æ÷½ºÆ®±×·¹½º JDBC µå¶óÀ̹ö °ü·Ã ³»¿ëÀº Æ÷½ºÆ®±×·¹½ºÀÇ Programmer's Guide ÀÇ "JDBC Interface" ºÎºÐÀ» ÂüÁ¶ÇÏ¿´´Ù.


ID
Password
Join
To criticize the incompetent is easy; it is more difficult to criticize the competent.


sponsored by andamiro
sponsored by cdnetworks
sponsored by HP

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2003-08-10 11:52:30
Processing time 0.0021 sec