13. Database


Database°ü·Ã °í·Á»çÇ×

  DataBase¸¦ »ç¿ëÇϸ鼭, °¡Àå ¹®Á¦°¡ µÇ´Â °ÍÀº overheadºÎºÐÀÌ´Ù. Áï, ÀϹÝÀûÀ¸·Î CGI°¡ DBÀÛ¾÷À» Æ÷ÇÔÇÏ´Â °æ¿ì¿¡ ÀÚÁÖ ¹ß»ýµÇ´Âµ¥, °¢ CGI¸¶´Ù database¿¡ Á¢¼ÓÇØ¼­ ÀÛ¾÷À» Çϵµ·Ï ±¸¼ºÇÏ°Ô µÇ¸é, À¥À̶ó´Â »óȲ(µ¿½Ã¿¡ ´Ù¼öÀÇ »ç¿ëÀÚ Á¢±Ù)¿¡¼­´Â ¾öû³ª°Ô ¸¹Àº CGI°¡ µ¿½Ã¿¡ ½ÇÇàµÉ ¼öµµ ÀÖ´Ù´Â Á¡ÀÌ´Ù.

  ÀÌ·¸°Ô µÇ¸é, process°¡ °ú´Ù ¹ß»ýÇϸ鼭( ´õ±¸³ª DB±îÁö ¹°°í¼­ ) ½Ã½ºÅÛ ¸®¼Ò½º¸¦ ´Ù Àâ¾Æ¸Ô°ÔµÈ´Ù . »ç¿ëÀÚ´Â ´ç¿¬È÷ ¾Æ¹«·± ÀÀ´äÀ» ¹ÞÁö ¸øÇÏ°í °è¼Ó ±â´Ù¸®´Â »óȲÀÌ ¹ß»ýÇϸç, ½ÉÇÑ °æ¿ì À¥¼­¹ö°¡ ¿ÏÀüÈ÷ ¸ÔÅëÀÌ µÇ¼­ rebootingÇØ¾ß ÇÏ´Â °æ¿ìµµ ÀÖ´Ù. ÁÖ¿ä ¿øÀÎÀº Database connection°ü¸®¿¡ ¹®Á¦°¡ Àֱ⠶§¹®ÀÌ´Ù.

  ÀÌ·± Çö»óÀº ÀϹÝÀûÀÎ CGI°³¹ß½Ã¿¡ ½Å°æ¾²Áö ¾ÊÀ¸¸é, ¸ðµÎ ¹ß»ýµÉ °¡´É¼ºÀ» ³»Æ÷ÇÏ°Ô µÈ´Ù. ƯÁ¤ DBMS¿¡¼­ Á¦°øÇÏ´Â À¥¼­¹öÀÇ °æ¿ì´Â ÀÌ·¯ÇÑ DatabaseÀÇ connectionÀ» ¾Ë¾Æ¼­ °ü¸®ÇØÁÖÁö¸¸, C, perl°ú °°Àº ¾ð¾î·Î ÀÛ¼ºÇÏ°Ô µÇ¸é ¾ÈµÈ´Ù°í ºÁ¾ß ÇÑ´Ù. ÀϺΠS/W´Â ÀÌ·¯ÇÑ ±â´ÉÀ» Ãß°¡·Î Á¦°øÇÏ´Â °Íµéµµ ÀÖÀ¸³ª, º°µµÀÇ ºñ¿ëÀ» ÁöºÒÇØ¾ßÇÑ´Ù.(»ç¾ßÇÑ´Ù´Â ¸»ÀÌ´Ù.)

  ±×·¯³ª, SSJS¿¡¼­´Â ÀÌ·¯ÇÑ ±â´ÉÀ» ±âº»À¸·Î Á¦°øÇÏ°Ô µÈ´Ù.(¹°·Ð ±×³ÉµÇ´Â °ÍÀº ¾Æ´Ï°í, ÇÁ·Î±×·¥ ÀÛ¼º½Ã °í·ÁÇÏ¿© ÀÛ¼ºÇÒ ¼ö ÀÖ´Ù´Â ¸»ÀÌ´Ù. ) ¹«½¼ ¸»ÀÎÁö ¾î·Æ´Ù¸é ±×³É ³Ñ¾î°¡µµ ÁÁ´Ù. ±×·¯³ª, DataBase Connection°ü¸®´Â À¥¼­¹ö¿î¿µ½Ã¿¡ Áß¿äÇÑ ¿äÀÎÀ̹ǷÎ, ÀÎÁöÇϰí ÀÖ¾î¾ß ÇÑ´Ù. ¾î´À³¯ °©ÀÚ±â ÇÁ·Î¼¼½º´Â »ì¾ÆÀִµ¥, ÀÀ´äÀÌ ¾ø°Å³ª, ÀÀ´ä¼Óµµ°¡ ÇöÀúÇÏ°Ô ÀúÇϵǸé, ÇÁ·Î¼¼½ºµéÀ» ÃßÀûÇØ¾ß Çϰí, ´ëºÎºÐÀÇ ¹®Á¦´Â Database connectionÀ̶ó°í º¸¸é µÈ´Ù.

  ¶ÇÇѰ¡Áö °í·ÁÇÒ »çÇ×ÀÌ Àִµ¥ ½ÇÇà ¼Óµµ ¹®Á¦ÀÌ´Ù. ¸ðµç CGI°¡ ½ÇÇà½Ã¸¶´Ù Ç×»ó Database¿Í ¿¬°áÇÏ´Â ÀÛ¾÷À» ÇÏ°Ô Çϸé, ±× ¼öÇà½Ã°£ ¸¸Å­ Áö¿¬µÈ´Ù´Â Á¡ÀÌ´Ù. ÇϳªÀÇ »óȲÀÏ ¶§´Â ¹®Á¦°¡ µÇÁö ¾Ê´Âµ¥, ÀÌ ¿ª½Ãµµ µ¿½Ã»ç¿ëÀÚ¼ö°¡ ¸¹°ÔµÇ¸é, °¨´çÇÏÁö ¸øÇÒ Á¤µµ·Ñ ´Ã¾îÁö°Ô µÈ´Ù´Â Á¡ÀÌ´Ù.

  ÀÌ·¯ÇÑ °æ¿ì´Â ÇϳªÀÇ connectionÀ» ¹Ì¸® ÁغñÇØ ³õ°í, °¢ CGI°¡ À̸¦ °øÀ¯Åä·ÏÇϸé Database connection°ü¸® »Ó¸¸¾Æ´Ï¶ó, ½ÇÇà¼Óµµ Çâ»óÀ» ±â´ëÇÒ ¼ö ÀÖ°Ô µÇ´Â °ÍÀÌ´Ù. ÀÌ·¯ÇÑ ÁغñÀÛ¾÷Àº ¾îÇø®ÄÉÀ̼ǿ¡ ´Ü Çѹø¸¸ ¹ß»ýÇØ¾ß ÇÑ´Ù.

  ¾îÇø®ÄÉÀÌ¼Ç ¸Å´ÏÀú¿¡ °üÇÑ Ãʱ⠼³¸í¿¡¼­ initial pageºÎºÐÀÌ ¹Ù·Î ´Ü Çѹø ¼öÇàÇØ¾ßÇÒ ÆäÀÌÁö¸¦ µî·ÏÇÏ´Â ºÎºÐÀÌ´Ù. ¶ÇÇÑ ¾îÇø®ÄÉÀ̼ǿ¡ À¯ÀÏÇÏ°Ô Á¸ÀçÇϹǷÎ, projectÀÇ ÇϳªÀÇ ¼Ó¼ºÀ¸·Î µî·ÏÇØ¼­ °øÀ¯ÇÏ¸é µÈ´Ù.

  ¿¹) ´ÙÀ½°ú °°Àº Á¤ÀǸ¦ initial page¿¡ Æ÷ÇÔ½ÃŲµÚ¿¡,

project.eng = new DbPool("ORACLE", "myserver1","ENG","pp","",3,true);
project.usr = new DbPool("INFOMIX","myserver2","USR","qq","",3,false);


  °¢ »ç¿ëÀÚÀÇ Á¢±Ù¿¡ ÀÇÇØ ´ÙÀ½°ú °°ÀÌ Ã³¸®ÇÒ ¼ö ÀÖ´Â °ÍÀÌ´Ù.

if( request.name == "ENG" ){
    engcon = project.eng.connection("eng");
    engcon.SQLTable("select * from eng");
    engcon.release();
}


  ¿¹) À§¿Í°°ÀÌ ÁöÁ¤µÈ DBMS¿Í ID°¡ ¾Æ´Ï¶ó °³¼ö¸¦ ¾Ë ¼ö ¾ø°Å³ª, ³Ê¹« ¸¹Àº °æ¿ì´Â ´ÙÀ̳ª¹ÍÇϰ԰ü¸®ÇØ¾ß ÇÑ´Ù.ÀÏ´Ü, ÃÖÃÊ¿¡ °øÀ¯Á¤º¸¸¦ »ý¼ºÇѵÚ

project.sharpool = new Object();


  °¢, clientÀÇ ¿ä±¸¿¡ µû¶ó ´ÙÀ½°ú °°ÀÌ »ç¿ëÅä·Ï ÇÑ´Ù.

if ( client.id == null )
    client.id = ssjs_generateClientID();

project.lock();
if( project.sharpool[client.id] == null ) {
    project.sharpool[client.id] = new DbPool(.....);
}
project.unlock();

var clientPool = project.sharpool[client.id];
project.lock();
if( !clientPool.connected() ){
    clientPool.connect(..);
}
project.unlock();

- Last Update : 2001.7.5 by Deadfire(http://www.deadfire.net)

LiveWire °­ÁÂ
LiveWire¶õ?
ÃÖÃÊ¿¹Á¦/µ¿ÀÛ¿ø¸®
½ÇÇàȯ°æ Áغñ
ÄÄÆÄÀÏ ¹× ½ÇÇà
SSJSÀÇ ±âº»
     - Function
     - Classes/Objects
     - »ç¿ë Tag
     - SSJSÀÇ Ã³¸®°úÁ¤
±âº» ÇÔ¼ö
Client To Server
     - FORM Tag
     - URL
Server To Client
     - FORM Tag
     - Cookie
Session
Client
Project/Server
File
Database
     - Database°í·Á»çÇ×
     - Function/¿¹Á¦
±âŸ
     - Stored Procedure
     - ¿ÜºÎÇÔ¼öÈ£Ãâ
¸¶Ä¡¸ç

Copyright ¨Ï 1997 ~, Deadfire Program Master