ÀÀ¿ëÇÁ·Î±×·¥ °³¹ß ¾È³»¼­


FORTRAN¿¡¼­ È£½ºÆ® º¯¼ö

È£½ºÆ® º¯¼ö´Â SQL¹®¿¡¼­ ÂüÁ¶µÇ´Â FORTRAN ¾ð¾î º¯¼öÀÔ´Ï´Ù. ÀÌ·± º¯¼ö¸¦ »ç¿ëÇÏ¿© ÀÀ¿ëÇÁ·Î±×·¥¿¡¼­ µ¥ÀÌÅͺ£À̽º °ü¸® ÇÁ·Î±×·¥À¸·Î ÀÔ·Â µ¥ÀÌÅ͸¦ Àü´ÞÇÏ°í ±×·ÎºÎÅÍ Ãâ·Â µ¥ÀÌÅ͸¦ ¼ö½ÅÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÀ¿ëÇÁ·Î±×·¥À» »çÀü ó¸® ÄÄÆÄÀÏÇϸé ÄÄÆÄÀÏ·¯¿¡¼­ ´Ù¸¥ FORTRAN º¯¼ö¿Í ¸¶Âù°¡Áö·Î È£½ºÆ® º¯¼ö¸¦ »ç¿ëÇÕ´Ï´Ù. È£½ºÆ® º¯¼ö¸¦ ¸í¸íÇϰí, ¼±¾ðÇϰí, »ç¿ëÇÒ¶§ ´ÙÀ½ Á¦¾ÈÀ» Ȱ¿ëÇϽʽÿÀ.

FORTRAN¿¡¼­ÀÇ È£½ºÆ® º¯¼ö ¸í¸í

SQL »çÀü ó¸® ÄÄÆÄÀÏ·¯¿¡¼­ ¼±¾ðµÈ À̸§À¸·Î È£½ºÆ® º¯¼ö¸¦ ½Äº°ÇÕ´Ï´Ù. ´ÙÀ½ Á¦ÇÑÀÌ Àû¿ëµË´Ï´Ù.

È£½ºÆ® º¯¼ö ¼±¾ð

SQL ¼±¾ð ÀýÀº È£½ºÆ® º¯¼ö ¼±¾ðÀ» ½Äº°Çϴµ¥ »ç¿ëÇØ¾ß ÇÕ´Ï´Ù. ÀÌ ÀýÀº ÈÄ¼Ó SQL¹®¿¡¼­ ÂüÁ¶ÇÒ ¼ö Àִ ȣ½ºÆ® º¯¼ö¸¦ ÈÄ¼Ó »çÀü ó¸® ÄÄÆÄÀÏ·¯¿¡ ¾Ë·Á ÁÝ´Ï´Ù.

FORTRAN »çÀü ó¸® ÄÄÆÄÀÏ·¯¸¸ÀÌ À¯È¿ÇÑ FORTRAN ¼±¾ðÀÇ ºÎ¼Ó ÁýÇÕÀ» À¯È¿ÇÑ È£½ºÆ® º¯¼ö ¼±¾ðÀ¸·Î ÀνÄÇÕ´Ï´Ù. ÀÌ·± ¼±¾ð¿¡¼­ ¼ýÀÚ³ª ¹®ÀÚ º¯¼ö¸¦ Á¤ÀÇÇÕ´Ï´Ù. ¼ýÀÚ È£½ºÆ® º¯¼ö´Â ¼ýÀÚ SQL ÀÔ·Â ¶Ç´Â Ãâ·Â °ªÀÇ ÀÔ·Â ¶Ç´Â Ãâ·Â º¯¼ö·Î »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ¹®ÀÚ È£½ºÆ® º¯¼ö´Â ¹®ÀÚ, ³¯Â¥, ½Ã°£ ¶Ç´Â ½Ã°£¼ÒÀÎ SQL ÀÔ·Â ¶Ç´Â Ãâ·Â °ªÀÇ ÀÔ·Â ¶Ç´Â Ãâ·Â º¯¼ö·Î »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ÇÁ·Î±×·¡¸Ó°¡ Ãâ·Â º¯¼ö°¡ ¼ö½ÅÇÑ °ªÀ» Æ÷ÇÔÇÒ¸¸Å­ ÃæºÐÈ÷ ±ä Áö È®ÀÎÇØ¾ß ÇÕ´Ï´Ù. FORTRAN¿¡¼­ ¼ýÀÚ È£½ºÆ® º¯¼öÀÇ ±¸¹®Àº ¼ýÀÚ È£½ºÆ® º¯¼öÀÇ ±¸¹®À» ³ªÅ¸³À´Ï´Ù.

±¸Á¶È­ À¯Çü¿¡ ´ëÇØ È£½ºÆ® º¯¼ö¸¦ ¼±¾ðÇÏ´Â °Í¿¡ ´ëÇÑ Á¤º¸´Â ±¸Á¶È­ À¯Çü È£½ºÆ® º¯¼ö ¼±¾ðÀ» ÂüÁ¶ÇϽʽÿÀ.

FORTRAN¿¡¼­ ¼ýÀÚ È£½ºÆ® º¯¼öÀÇ ±¸¹®
 
>>-+-INTEGER*2--------+----------------------------------------->
   +-INTEGER*4--------+
   +-REAL*4-----------+
   +-REAL *8----------+
   '-DOUBLE PRECISION-'
 
      .-,-----------------------------------.
      V                                     |
>--------varname--+---------------------+---+------------------><
                  '- / initial-value / -'
 

¼ýÀÚ È£½ºÆ® º¯¼ö °í·Á»çÇ×:

  1. REAL*8 ¹× DOUBLE PRECISIONÀº µ¿ÀÏÇÕ´Ï´Ù.

  2. REAL*8 »ó¼ö¿¡ ´ëÇÑ Áö¼ö Ç¥½Ã±â·Î D ´ë½Å E¸¦ »ç¿ëÇϽʽÿÀ.

FORTRAN¿¡¼­ ¹®ÀÚ È£½ºÆ® º¯¼öÀÇ ±¸¹®: °íÁ¤ ±æÀÌ´Â ¹®ÀÚ È£½ºÆ® º¯¼öÀÇ ±¸¹®À» ³ªÅ¸³À´Ï´Ù.

FORTRAN¿¡¼­ ¹®ÀÚ È£½ºÆ® º¯¼öÀÇ ±¸¹®: °íÁ¤ ±æÀÌ
 
                      .-,-----------------------------------.
                      V                                     |
>>-CHARACTER--+----+-----varname--+---------------------+---+--><
              '-*n-'              '- / initial-value / -'
 

º¯¼ö ±æÀÌ

                                  .-,----------.
                                  V            |
>>-SQL TYPE IS VARCHAR--(length)-----varname---+---------------><
 

¹®ÀÚ È£½ºÆ® º¯¼ö °í·Á»çÇ×:

  1. *nÀÇ ÃÖ´ë °ªÀº 254ÀÔ´Ï´Ù.

  2. ±æÀ̰¡ 1°ú 32 672 »çÀÌÀÏ °æ¿ì È£½ºÆ® º¯¼öÀÇ À¯ÇüÀº VARCHAR(SQLTYPE 448)ÀÔ´Ï´Ù.

  3. ±æÀ̰¡ 32 673°ú 32 700 »çÀÌÀÏ °æ¿ì È£½ºÆ® º¯¼ö À¯ÇüÀº LONG VARCHAR(SQLTYPE 456)ÀÔ´Ï´Ù.

  4. ¼±¾ð ³»¿¡¼­ VARCHAR ¹× LONG VARCHAR È£½ºÆ® º¯¼öÀÇ ÃʱâÈ­´Â Çã¿ëµÇÁö ¾Ê½À´Ï´Ù.

VARCHAR ¿¹:

¼±¾ð:

     sql type is varchar(1000) my_varchar

±× °á°ú ´ÙÀ½ ±¸Á¶°¡ »ý¼ºµË´Ï´Ù.

      character    my_varchar(1000+2)
      integer*2    my_varchar_length
      character    my_varchar_data(1000)
      equivalence( my_varchar(1),
     +             my_varchar_length )
      equivalence( my_varchar(3),
     +             my_varchar_data )

¿¹¸¦ µé¾î, ÀÀ¿ëÇÁ·Î±×·¥¿¡¼­ my_varchar_length¿Í my_varchar_data¸¦ Á¶ÀÛÇÏ¿© È£½ºÆ® º¯¼öÀÇ ³»¿ëÀ» ¼³Á¤Çϰųª °Ë»çÇÒ ¼ö ÀÖ½À´Ï´Ù. VARCHAR¸¦ Àüü·Î ÂüÁ¶Çϱâ À§ÇØ ±âº» À̸§(ÀÌ °æ¿ì, my_varchar)ÀÌ SQL¹®¿¡¼­ »ç¿ëµË´Ï´Ù.

LONG VARCHAR ¿¹:

¼±¾ð:

     sql type is varchar(10000) my_lvarchar

±× °á°ú ´ÙÀ½ ±¸Á¶°¡ »ý¼ºµË´Ï´Ù.

      character    my_lvarchar(10000+2)
      integer*2    my_lvarchar_length
      character    my_lvarchar_data(10000)
      equivalence( my_lvarchar(1),
     +             my_lvarchar_length )
      equivalence( my_lvarchar(3),
     +             my_lvarchar_data )

¿¹¸¦ µé¾î, ÀÀ¿ëÇÁ·Î±×·¥¿¡¼­ my_lvarchar_length¿Í my_lvarchar_data¸¦ Á¶ÀÛÇÏ¿© È£½ºÆ® º¯¼öÀÇ ³»¿ëÀ» °Ë»çÇϰųª ¼³Á¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. VARCHAR¸¦ Àüü·Î ÂüÁ¶Çϱâ À§ÇØ ±âº» À̸§(ÀÌ °æ¿ì, my_lvarchar)ÀÌ SQL¹®¿¡¼­ »ç¿ëµË´Ï´Ù.
ÁÖ:¾Æ·¡ÀÇ ¿¹¿Í °°Àº CONNECT¹®¿¡¼­ FORTRAN ¹®ÀÚ¿­ È£½ºÆ® º¯¼ö dbname°ú userid µÚ¿¡ °ø¹éÀÌ Æ÷ÇÔµÇÁö¸¸ ó¸® Àü¿¡ Á¦°ÅµË´Ï´Ù.

     EXEC SQL CONNECT TO :dbname USER :userid USING :passwd
±×·¯³ª ¾ÏÈ£¿¡¼­ °ø¹éÀÌ Áß¿äÇÒ ¼ö ÀÖÀ¸¹Ç·Î VARCHAR°ú °°Àº ¾ÏÈ£¿¡ È£½ºÆ® º¯¼ö¸¦ ¼±¾ðÇÏ°í ½ÇÁ¦ ¾ÏÈ£ ±æÀ̸¦ ¹Ý¿µÇϵµ·Ï ±æÀÌ Çʵ带 ¼³Á¤ÇØ¾ß ÇÕ´Ï´Ù.

      EXEC SQL BEGIN DECLARE SECTION
       character*8 dbname, userid
       sql type is varchar(18) passwd
  EXEC SQL END DECLARE SECTION
     character*18 passwd_string
     equivalence(passwd_data,passwd_string)
     dbname = 'sample'
     userid = 'userid'
     passwd_length= 8
     passwd_string = 'password'
     EXEC SQL CONNECT TO :dbname USER :userid USING :passwd

FORTRAN¿¡¼­ Ç¥½Ã±â º¯¼ö

Ç¥½Ã±â º¯¼ö´Â INTEGER*2 µ¥ÀÌÅÍ À¯ÇüÀ¸·Î ¼±¾ðÇØ¾ß ÇÕ´Ï´Ù.

FORTRAN¿¡¼­ LOB ¼±¾ð

FORTRAN¿¡¼­ ´ëÇü ¿ÀºêÁ§Æ®(LOB) È£½ºÆ® º¯¼öÀÇ ±¸¹®Àº FORTRAN¿¡¼­ ´ëÇü ¿ÀºêÁ§Æ®(LOB) È£½ºÆ® º¯¼ö¸¦ ¼±¾ðÇÏ´Â ±¸¹®À» ³ªÅ¸³À´Ï´Ù.

FORTRAN¿¡¼­ ´ëÇü ¿ÀºêÁ§Æ®(LOB) È£½ºÆ® º¯¼öÀÇ ±¸¹®
 
                                              .-,----------------.
                                              V                  |
>>-SQL TYPE IS--+-BLOB-+---(length-+---+--)------variable-name---+->
                '-CLOB-'           +-K-+
                                   +-M-+
                                   '-G-'
 
>--------------------------------------------------------------><
 

LOB È£½ºÆ® º¯¼ö °í·Á»çÇ×:

  1. GRAPHIC À¯ÇüÀº FORTRAN¿¡¼­ Áö¿øÇÏÁö ¾Ê½À´Ï´Ù.

  2. SQL TYPE IS, BLOB, CLOB, K, M, G´Â ´ë¹®ÀÚ, ¼Ò¹®ÀÚ ¶Ç´Â ´ë¼Ò¹®ÀÚ È¥ÇÕÀ¸·Î ³ªÅ¸³¯ ¼ö ÀÖ½À´Ï´Ù.

  3. BLOB and CLOBÀÇ °æ¿ì  1 <= lob-length <= 2 147 483 647

  4. LOB ¼±¾ð¿¡¼­ LOBÀÇ ÃʱâÈ­´Â Çã¿ëµÇÁö ¾Ê½À´Ï´Ù.

  5. »çÀü ó¸® ÄÄÆÄÀÏ·¯ »ý¼º Äڵ忡¼­ È£½ºÆ® º¯¼ö À̸§ ¾Õ¿¡´Â 'length'¿Í 'data'°¡ ÁöÁ¤µË´Ï´Ù.

BLOB ¿¹:

¼±¾ð:

     sql type is blob(2m) my_blob

±× °á°ú ´ÙÀ½ ±¸Á¶°¡ »ý¼ºµË´Ï´Ù.

      character    my_blob(2097152+4)
      integer*4    my_blob_length
      character    my_blob_data(2097152)
      equivalence( my_blob(1),
     +             my_blob_length )
      equivalence( my_blob(5),
     +             my_blob_data )

CLOB ¿¹:

¼±¾ð:

     sql type is clob(125m) my_clob

±× °á°ú ´ÙÀ½ ±¸Á¶°¡ »ý¼ºµË´Ï´Ù.

      character    my_clob(131072000+4)
      integer*4    my_clob_length
      character    my_clob_data(131072000)
      equivalence( my_clob(1),
     +             my_clob_length )
      equivalence( my_clob(5),
     +             my_clob_data )

FORTRAN¿¡¼­ LOB À§Ä¡ ÁöÁ¤ÀÚ ¼±¾ð

FORTRAN¿¡¼­ ´ëÇü ¿ÀºêÁ§Æ®(LOB) À§Ä¡ ÁöÁ¤ÀÚ È£½ºÆ® º¯¼öÀÇ ±¸¹®Àº FORTRAN¿¡¼­ ´ëÇü ¿ÀºêÁ§Æ®(LOB) À§Ä¡ ÁöÁ¤ÀÚ È£½ºÆ® º¯¼ö¸¦ ¼±¾ðÇÏ´Â ±¸¹®À» ³ªÅ¸³À´Ï´Ù.

FORTRAN¿¡¼­ ´ëÇü ¿ÀºêÁ§Æ®(LOB) À§Ä¡ ÁöÁ¤ÀÚ È£½ºÆ® º¯¼öÀÇ ±¸¹®
 
                                   .-,----------------.
                                   V                  |
>>-SQL TYPE IS--+-BLOB_LOCATOR-+------variable-name---+--------><
                '-CLOB_LOCATOR-'
 

LOB À§Ä¡ ÁöÁ¤ÀÚ È£½ºÆ® º¯¼ö °í·Á»çÇ×:

  1. GRAPHIC À¯ÇüÀº FORTRAN¿¡¼­ Áö¿øÇÏÁö ¾Ê½À´Ï´Ù.

  2. SQL TYPE IS, BLOB_LOCATOR, CLOB_LOCATORÀº ´ë¹®ÀÚ, ¼Ò¹®ÀÚ ¶Ç´Â ´ë¼Ò¹®ÀÚ È¥ÇÕÀ¸·Î ³ªÅ¸³¯ ¼ö ÀÖ½À´Ï´Ù.

  3. À§Ä¡ ÁöÁ¤ÀÚÀÇ ÃʱâÈ­´Â Çã¿ëµÇÁö ¾Ê½À´Ï´Ù.

CLOB À§Ä¡ ÁöÁ¤ÀÚ ¿¹(BLOB À§Ä¡ ÁöÁ¤ÀÚ¿Í ºñ½Á):

¼±¾ð:

     SQL TYPE IS CLOB_LOCATOR my_locator

±× °á°ú ´ÙÀ½ ¼±¾ðÀÌ »ý¼ºµË´Ï´Ù.

      integer*4 my_locator

FORTRAN¿¡¼­ ÆÄÀÏ ÂüÁ¶ ¼±¾ð

FORTRAN¿¡¼­ ÆÄÀÏ ÂüÁ¶ È£½ºÆ® º¯¼öÀÇ ±¸¹®Àº FORTRAN¿¡¼­ ÆÄÀÏ ÂüÁ¶ È£½ºÆ® º¯¼ö¸¦ ¼±¾ðÇÏ´Â ±¸¹®À» ³ªÅ¸³À´Ï´Ù.

FORTRAN¿¡¼­ ÆÄÀÏ ÂüÁ¶ È£½ºÆ® º¯¼öÀÇ ±¸¹®
 
                                .-,----------------.
                                V                  |
>>-SQL TYPE IS--+-BLOB_FILE-+------variable-name---+-----------><
                '-CLOB_FILE-'
 

ÆÄÀÏ ÂüÁ¶ È£½ºÆ® º¯¼ö °í·Á»çÇ×:

  1. Graphic À¯ÇüÀº FORTRAN¿¡¼­ Áö¿øÇÏÁö ¾Ê½À´Ï´Ù.

  2. SQL TYPE IS, BLOB_FILE, CLOB_FILEÀº ´ë¹®ÀÚ, ¼Ò¹®ÀÚ ¶Ç´Â ´ë¼Ò¹®ÀÚ È¥ÇÕÀ¸·Î ³ªÅ¸³¯ ¼ö ÀÖ½À´Ï´Ù.

BLOB ÆÄÀÏ ÂüÁ¶ º¯¼öÀÇ ¿¹ (CLOB ÆÄÀÏ ÂüÁ¶ º¯¼ö¿Í ºñ½Á):

     SQL TYPE IS BLOB_FILE my_file

±× °á°ú ´ÙÀ½ ¼±¾ðÀÌ »ý¼ºµË´Ï´Ù.

      character     my_file(267)
      integer*4     my_file_name_length
      integer*4     my_file_data_length
      integer*4     my_file_file_options
      character*255 my_file_name
      equivalence(  my_file(1),
     +              my_file_name_length )
      equivalence(  my_file(5),
     +              my_file_data_length )
      equivalence(  my_file(9),
     +              my_file_file_options )
      equivalence(  my_file(13),
     +              my_file_name )


[ ÆäÀÌÁöÀÇ ¸Ç À§ | ÀÌÀü ÆäÀÌÁö | ´ÙÀ½ ÆäÀÌÁö | ¸ñÂ÷ | »öÀÎ ]