MoinMoin   ODBC UserPreferences
 
Help Info Print View Search Diffs Edit
 À妽º   µµ¿ò¸»   Ã£±â   ´ë¹®   ºí·Î±×   ¹Ù²ï±Û 

ODBC

Open Database ConnectivityÀÇ ¾àÀÚ·Î C±â¹ÝÀ¸·Î DB¿¡ Á¢±ÙÀ» ÇÒ¶§ »ç¿ëÇÑ´Ù.
±×¸®°í ODBC´Â SQL¾ð¾î¸¦ ±â¹ÝÇÑ´Ù. ³»ºÎÀûÀ¸·Î SQL¹®À» »ç¿ëÇϰí ÀÖ´Ù.

ODBCÀÇ ±¸Á¶

ÀÀ¿ëÇÁ·Î±×·¥

µ¥ÀÌÅ͸¦ ¾×¼¼½º ÇÏ´Â ÇÁ·Î±×·¥À¸·Î ÇÁ·Î±×·¡¸Ó°¡ ¸¸µé¾î¾ß ÇÒ ´ë»óÀÌ´Ù.

µå¶óÀ̹ö °ü¸®ÀÚ

ÀÀ¿ëÇÁ·Î±×·¥°ú µå¶óÀ̹ö »çÀÌ¿¡¼­ Åë½Å ¿ªÇÒÀ» ÇÑ´Ù. ODBC API¸¦ È£ÃâÇÏ´Â °ÍÀ¸·Î ³»ºÎÀûÀ¸·Î µå¶óÀ̹ö°ü¸®ÀÚ¸¦ ÅëÇØ
µå¶óÀ̹ö¿¡ Àü´ÞµÈ´Ù.

µå¶óÀ̹ö

ODBC APIÇÔ¼ö¸¦ °¡Áö°í ÀÖ´Â ½ÇÇà ¸ðµâ(ÀϹÝÀûÀ¸·Î DLL)ÀÌ´Ù. °¢ DBMS¿¡ ´ëÇØ Çϳª¾¿ Á¸ÀçÇϸç DBMSÁ¦ÀÛÀÚ°¡
¸¸µé¾î ¹èÆ÷ÇÑ´Ù.

µ¥ÀÌÅͼҽº

°£´ÜÈ÷ ¸»ÇÏÀÚ¸é µ¥ÀÌÅÍ¿¡ ¾×¼¼½ºÇϱâ À§ÇÑ Á¤º¸µéÀÇ ÁýÇÕÀÌ´Ù. ÀÌ Á¤º¸¿¡´Â µå¶óÀ̹ö, µ¥ÀÌÅͰ¡ ÀÖ´Â ³×Æ®¿÷ÁÖ¼Ò,
³×Æ®¿÷¼ÒÇÁÆ®¿þ¾î µîµîÀÌ Æ÷ÇԵȴÙ. ´Ü¼øÇÑ ÆÄÀÏÀÌ µÉ¼öµµ ÀÖÀ¸¸ç ´Ù¸¥ ¿î¿µÃ¼Á¦¿¡ Æ÷ÇԵǴ DBMS°¡ µÉ¼öµµ ÀÖ´Ù.

Á¤º¸°¡ ÀúÀåµÇ´Â ¹æ½Ä¿¡ µû¶ó ±â°è µ¥ÀÌÅÍ ¼Ò½º¿Í ÆÄÀÏ µ¥ÀÌÅÍ ¼Ò½º·Î ³ª´µ¸ç ±â°è µ¥ÀÌÅÍ ¼Ò½º´Â
Á¤º¸°¡ ÀúÀåµÇ´Â ·¹Áö½ºÆ®¸® À§Ä¡¿¡ µû¶ó »ç¿ëÀÚDSN°ú ½Ã½ºÅÛDSNÀ¸·Î ³ª´¶´Ù. »ç¿ëÀÚ DSNÀº HKEY_CURRENT_USER¿¡ ÀúÀåµÇ¸ç
ÇöÀç ·Î±äÇÑ »ç¿ëÀÚ¿¡°Ô¸¸ À¯È¿ÇÑ ¹Ý¸é ½Ã½ºÅÛDSNÀº HKEY_LOCAL_MACHINE¿¡ ÀúÀåµÇ¹Ç·Î ¸ðµç »ç¿ëÀÚ¿¡°Ô À¯È¿ÇÏ´Ù.


ODBC µ¥ÀÌÅÍ Å¸ÀÔ

SQL µ¥ÀÌÅÍ Å¸ÀÔÀº SQL-92Ç¥ÁØ¿¡¼­ Á¤ÀÇÇϰí ÀÖ´Â ¸ðµç µ¥ÀÌÅÍ Å¸ÀÔµé°ú ¸î°¡Áö
Ãß°¡µÈ µ¥ÀÌÅÍ Å¸ÀÔÀ» Á¤ÀÇÇϰí ÀÖ´Ù. SQLÇüÀº DBMSÂÊÀÇ µ¥ÀÌÅÍ Å¸ÀÔÀ̰í CÇüÀº ÀÀ¿ëÇÁ·Î±×·¥ÂÊÀÇ µ¥ÀÌÅÍ Å¸ÀÔÀÌ´Ù.
SQL ŸÀÔ ID SQL µ¥ÀÌÅÍ Å¸ÀÔ
SQL_CHAR CHAR
SQL_VARCHAR VARCHAR
SQL_DECIMAL DECIMAL
SQL_SMALLINT SMALLINTEGER
SQL_INTEGER INTEGER
SQL_BINARY BINARY
SQL_TYPE_DATE DATE
CÇü ŸÀÔÀº ÀÀ¿ë ÇÁ·Î±×·¥¿¡¼­ DB·ÎºÎÅÍ °á°ú¼ÂÀ» µ¹·Á¹ÞÀ» ¶§ ¹öÆÛÀÇ Å¸ÀÔÀ» ÁöÁ¤ÇÒ ¶§ »ç¿ëÇÑ´Ù.
C ŸÀÔ ID typedef C µ¥ÀÌÅÍ Å¸ÀÔ
SQL_C_CHAR SQLCHAR* unsigned char *
SQL_C_SSHORT SQLSMALLINT short int
SQL_C_USHORT SQLUSMALLINT unsigned short int
SQL_C_SLONG SQLINTEGER long int
SQL_C_USHORT SQLUINTEGER unsigned long int
SQL_C_FLOAT SQLREAD float
SQL_C_DOUBLE SQLDOUBLE double
SQL_C_BIT SQLSCHAR unsigned char
SQL_C_BINARY SQLCHAR* unsigned char *
SQL_C_BOOKMARK BOOKMARK unsigned long int
SQL_C_TYPE_DATE SQL_DATE_STRUCT struct tagDATE_STRUCT{SQLSMALLINT year;SQLUSMALLINT month; SQLUSMALLINT day;}DATE_STRUCT;

ODBC ÇÚµé

¿ì¼± sql.h¿Í sqlext.hÇì´õ¸¦ Æ÷ÇÔ½ÃÄÑÁà¾ßÇÑ´Ù. ±×¸®°í odbc32.lib¿Í ¿¬°áÀ» ½ÃÄÑÁà¾ßÇÑ´Ù. 
 
SQLRETURN SQLAllocHandle(SQLSMALLINT HandleType, SQLHANDLE InputHandle, SQLHANDLE *OutputHandlePtr); 
SQLÇÚµéÀ» ÇÒ´çÇÑ´Ù. 
HandleType¿¡´Â 4°¡Áö°¡ ÀÖ´Ù. SQL_HANDLE_ENV, SQL_HANDLE_DBC, SQL_HANDLE_STMT, SQL_HANDLE_DESCÁß Çϳª¸¦ ¼±ÅÃÇÒ¼ö ÀÖ´Ù. 
InputHandle¿¡´Â ¸¸µé¾îÁú Çڵ鿡 ¿¬°áµÇ´Â ÇÚµéÀÌ´Ù. ȯ°æÇÚµéÀº óÀ½ ¼³Á¤µÇ¹Ç·Î SQL_NULL_HANDLEÀ» ³Ö¾îÁØ´Ù. 
OutputHandlePtr¿¡´Â »õ·Î ¸¸µé¾îÁú ÇÚµéÀÇ ÁÖ¼Ò¸¦ ³Ö¾îÁØ´Ù. 
 
SQLRETURN SQLFreeHandle(SQLSMALLINT HandleType, SQLHANDLE InputHandle); 
SQLÇÚµéÀ» ÇØÁ¦ÇÑ´Ù. 

ȯ°æ ÇÚµé

µ¥ÀÌÅÍ ¾×¼¼½º¿¡ ÇÊ¿äÇÑ ¿©·¯ °¡Áö Á¤º¸µéÀÌ ÀúÀåµÈ´Ù. ȯ°æÀÇ ÇöÀç »óÅÂ, Áø´Ü Á¤º¸, ȯ°æÀÇ ¼Ó¼º, ¿¬°á¿¡ °ü·ÃµÈ Á¤º¸µîÀÌ´Ù. 
 
SQLAllocHandle(SQL_HANDLE_DBC,SQL_NULL_HANDLE,ȯ°æ ÇÚµéÀÇ ÁÖ¼Ò); 
 
SQLRETURN SQLSetEnvAttr(SQLHENV EnvironmentHandles, SQLINTEGER Attribute, SQLPOINTER ValuePtr, SQLINTEGER StringLength); 
EnvironmentHandlesÀº ȯ°æ ÇÚµé, Attribute´Â ¼³Á¤ÇϰíÀÚ ÇÏ´Â ¼Ó¼ºÀÇ Á¾·ù, ValuePtrÀº ¼Ó¼º°ª, StringLength´Â ¼Ó¼º°ªÀÇ ±æÀÌÀÌ´Ù. 
ȯ°æ¼Ó¼ºÁß °¡Àå Áß¿äÇÑ °ªÀº SQL_ATTR_ODBC_VERSION ¼Ó¼ºÀε¥ 3.0¹öÁ¯Àº SQL_OV_ODBC3À» ³Ö¾îÁØ´Ù. 

¿¬°á ÇÚµé

¿¬°áÇÚµéÀº µ¥ÀÌÅÍ ¼Ò½º¿Í µå¶óÀ̹ö¿¡ ´ëÇÑ Á¤º¸¸¦ °¡Áø´Ù. ¿¬°áÀÇ »óÅÂ, Áø´Ü Á¤º¸, ¸í·É ÇÚµé°ú ¼³¸íÀÚ ÇÚµéÀÇ ¸ñ·Ï, ¿¬°áÀÇ ¼Ó¼ºµîÀÇ 
Á¤º¸°¡ Æ÷ÇԵȴÙ. 
¿¬°á ÇÚµéÀ» ÇÒ´çÇÒ¶§ ¿ì¼± ȯ°æÇÚµéÀÇ ¼Ó¼ºÀÌ ÇÊ¿äÇÏ´Ù 
SQLAllocHandle(SQL_HANDLE_DBC,ȯ°æÇÚµé,¿¬°áÇÚµéÀÇ ÁÖ¼Ò); 
 
SQLRETURN SQLDriverConnect( 
    SQLHDBC ConnectionHandle,         // ÇÒ´çÇÑ ¿¬°áÇÚµé 
    SQLHWND WindowHandle,             // À©µµ¿ì ÇÚµé 
    SQLCHAR *InConnectionString,      // ¿¬°á ¹®ÀÚ¿­(¿¬°áÀ» À§ÇÑ Á¤º¸¸¦ °¡Áö´Â ¹®ÀÚ¿­·Î ÀϹÝÀûÀ¸·Î ÀÏ·ÃÀÇ Å° = °ªÀ¸·Î ±¸¼ºµÈ´Ù.) 
    SQLSMALLINT StringLength1,        // ¿¬°á ¹®ÀÚ¿­ÀÇ ±æÀÌ 
    SQLCHAR *OutConnectionString,      // ÀԷµǴ µ¥ÀÌÅÍ¿¡ µû¶ó ¿Ï¼ºµÈ ¹®ÀÚ¿­ÀÌ »ý¼ºµÈ´Ù. ±× ¹®ÀÚ¿­À» ¾òÀ» ¼ö ÀÖ´Ù. 
    SQLSMALLINT BufferLength,         // Ãâ·Â ¿¬°á ¹®ÀÚ¿­ÀÇ ¹öÆÛÀÇ ±æÀÌ 
    SQLSMALLINT *StringLength2Ptr,     // Ãâ·ÂµÇ´Â ¹®ÀÚ¿­ÀÇ ÃÑ ±æÀÌ 
    SQLUSMALLINT DriverCompletion);   // ±âº»Àº SQL_DRIVER_NOPROMPTÀÌ´Ù. SQL_DRIVER_COMPLETE·Î ÇʼöÀûÀÎ Á¤º¸Áß¿¡ ´©¶ôµÈ Á¤º¸¸¦ ÀԷ¹ްí ÁøÇàÇÑ´Ù. 
 
¿¬°áµÇ´Â ŸÀÔ¿¡ µû¸¥ InConnectionStringÀÇ °ª. 
MDB´Â ¿¢¼¼½ºÀε¥ ÆÄÀÏ·Î Á¸ÀçÇÏ´Â DBÀÌ´Ù. 
µé¾î°¡´Â ¹®ÀÚ¿­Àº "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=ÆÄÀÏÀ̸§" ÀÌ·¸°Ô µé¾î°£´Ù. 
FileDSNÀ» »ç¿ëÇÏ´Â °æ¿ì´Â ¹®ÀÚ¿­·Î "FileDsn=°æ·Î" °¡ µé¾î°£´Ù. 
SQL¼­¹ö¸¦ »ç¿ëÇÏ´Â °æ¿ì´Â ¹ØÀÇ ÇÔ¼ö¸¦ »ç¿ëÇÏÀÚ. °£ÆíÇÏ´Ù. 
 
SQLRETURN SQLConnect( 
    SQLHDBC ConnectionHandle,        // ¿¬°á ÇÚµé 
    SQLCHAR *ServerName,             // ¼­¹ö À̸§ 
    SQLSMALLINT NameLength1,         // ¼­¹ö À̸§ÀÇ ±æÀÌ. SQL_NTS¸¦ »ç¿ëÇÏ¸é ÆíÇÏ´Ù. 
    SQLCHAR *UserName,               // À¯Àú ID.  
    SQLSMALLINT NameLength2,         // À¯Àú IDÀÇ ±æÀÌ. SQL_NTS¸¦ »ç¿ëÇÏ¸é ÆíÇÏ´Ù. 
    SQLCHAR *Authentication,         // ÆÐ½º¿öµå. 
    SQLSMALLINT NameLenght3          // ÆÐ½º¿öµåÀÇ ±æÀÌ. SQL_NTS¸¦ »ç¿ëÇÏ¸é ÆíÇÏ´Ù. 
); 
 
SQLRETURN SQLDisconnect(SQLHDBC ConnectionHandle); 
¿¬°á ÇÚµéÀÇ ¿¬°áÀ» ²÷¾îÁØ´Ù. 

¸í·É ÇÚµé

µ¥ÀÌÅÍ ¾×¼¼½º¸¦ À§ÇÑ SQL¹®µéÀ» °¡Áö´Â ¸í·É¾î¸¦ ´ã´Â ÇÚµé. 
SQLAllocHandle(SQL_HANDLE_STMT,¿¬°áÇÚµé,¸í·ÉÇÚµéÀÇ ÁÖ¼Ò); 
 
SQLRETURN SQLSetStmtAttr()      // ä¿ö¾ßÇÔ. 
 

¸í·É ½ÇÇà

SQLRETURN SQLExecDirect(SQLHSTMT StatementHandle, SQLCHAR *StatementText, SQLINEGER TextLength); 
StatementHandle´Â ¸í·ÉÇÚµé, StatementText´Â SQL¹®, TextLengthÀº SQL¹®ÀÇ ±æÀÌ 
¿©±â¼­ SQL¹®ÀÇ ±æÀ̸¦ ³ÖÀ»¶§ ¹®ÀÚ¿­ÀÌ ³Î¹®ÀÚ·Î ³¡³ª´Â °æ¿ì SQL_NTS·Î ÁöÁ¤ÇÏ¸é µÈ´Ù. 
 
SQLRETURN SQLBindCol( 
     SQLHSTMT StatementHandle,   // ¸í·É ÇÚµé 
     SQLUSMALLINT ColumnNumber,  // ¹ÙÀεùµÉ Ä÷³ÀÇ ¹øÈ£. Ä÷³ÀÇ ¹øÈ£´Â 1ºÎÅÍ ½ÃÀÛÇÑ´Ù. 
     SQLSMALLINT TargetType,     // ¹ÙÀεùµÉ µ¥ÀÌÅÍ Å¸ÀÔ. À§ÀÇ CÇü½ÄÀÇ µ¥ÀÌÅÍ Å¸ÀÔ. 
     SQLPOINTER TargetValuePtr,  // °á°ú°ªÀ» ¹ÞÀ» ¹öÆÛ 
     SQLINTEGER BufferLength,    // ¹öÆÛÀÇ ±æÀÌ 
     SQLLEN *StrLen_or_Ind       // ±æÀÌ ¶Ç´Â »óŰªÀ» ¹Þ´Âµ¥ Ä÷³ÀÇ ±æÀ̳ª »óŸ¦ ¹ÝȯÇÑ´Ù. ¾Æ¹«Ä®·³ÀÌ ¾øÀ»¶§ SQL_NULL_DATA¸¦ ¹ÝȯÇÑ´Ù. 
); 
°á°ú°ª 󸮸¦ À§ÇØ ¹ÙÀεùÀÌ ÇÊ¿äÇÏ´Ù. 
insert¹®À̳ª update¹®ÀÌ ¾Æ´Ñ select¹®ÀÏ °æ¿ì °á°ú¸¦ ¹Þ´Â µ¥ÀÌÅÍ Å¸ÀÔÀ¸·Î º¯È¯À» ÇÑ´Ù. 
 
SQLRETURN SQL_Fetch(SQLHSTMT StatementHandle); 
¹ÙÀεùµÈ º¯¼ö¿¡ °á°ú°ªÀ» ä¿öÁÖ°í Çà(row)¿¡ µû¶ó ´ÙÀ½À¸·Î À̵¿ÇÑ´Ù. 
¾Æ¹« °ªµµ ¾øÀ» °æ¿ì SQL_NO_DATA¸¦ ¹ÝȯÇÑ´Ù.  
StatementHandle¿¡´Â ¸í·É ÇÚµéÀÌ µé¾î°£´Ù.  
 
SQLRETURN SQL_CloseCursor(SQLHSTMT StateHandle); 
¸í·É Çڵ鿡 ¿­·ÁÁø Ä¿¼­¸¦ ´Ý°í °á°ú¼ÂÀ» ¹ö¸°´Ù. ¸í·É ÇÚµéÀ» »èÁ¦Çϱâ Àü¿¡ ÀÌ·ç¾î Áø´Ù. 

ÆÄ¶ó¹ÌÅÍ »ç¿ë

µî·ÏµÈ SQL¹®ÀÚ¿­¿¡ ?(Parameter Market)µÈ ºÎºÐ¿¡ ½ÇÇàÁß¿¡ ¹ÙÀεùµÈ º¯¼ö°ªÀ¸·Î ´ëüÇÒ ¼ö ÀÖ´Ù. 
±×³É ¹®ÀÚ¿­ Á¶ÇÕµµ ÇÒ ¼ö ÀÖ°ÚÁö¸¸ ÀÌ·¸°Ô ÇÏ´Â ÆíÀÌ ¼Óµµ°¡ ºü¸£´Ù. 
SQLRETURN SQLBindParameter( 
     SQLHSTMT StatementHandle,     // ¸í·É ÇÚµé 
     SQLUSMALLINT ParameterNumber, // ÆÄ¶ó¹ÌÅÍ ¹øÈ£. ?°¡ ³ªÅ¸³»´Â ½ÃÁ¡¿¡¼­ 1ºÎÅÍ ½ÃÀÛÇÑ´Ù. 
     SQLSMALLINT InputOutputType,  // ÆÄ¶ó¹ÌÅÍÀÇ ¿ëµµ¸¦ ¼³Á¤ÇÑ´Ù. ÀԷ¿ë(SQL_PARAM_INPUT), Ãâ·Â¿ë, ÀÔÃâ·Â°â¿ëÀ¸·Î »ç¿ëÇÒ ¼ö ÀÖ´Ù. 
     SQLSMALLINT ValueType,        // ÆÄ¶ó¹ÌÅÍÀÇ µ¥ÀÌÅÍ Å¸ÀÔ. CÇü 
     SQLSMALLINT ParameterType,    // ÆÄ¶ó¹ÌÅÍÀÇ µ¥ÀÌÅÍ Å¸ÀÔ. SQLÇü 
     SQLUINTEGER ColumnSize,       // º¯¼öÀÇ Å©±â. ±×³É ¹®ÀÚ¿­¸¸ ±æÀ̸¦ ¾Æ´Ô 0À¸·Î.. 
     SQLSMALLINT DecimalDigits,    // ÀÚ¸®¼ö. ±×³É 0À¸·Î.. 
     SQLPOINTER ParameterValuePtr, // ÆÄ¶ó¹ÌÅÍ¿Í ¿¬°áµÉ º¯¼öÀÇ ¹øÁö 
     SQLINTEGER BufferLength,      // ÆÄ¶ó¹ÌÅÍ ¹®ÀÚ¿­À̳ª ÀÌÁøÇüÀÏ ¶§ ¹öÆÛÀÇ Å©±â¸¦ ÁöÁ¤. ±×³É 0À¸·Î.. 
     SQLINTEGER *Strlen_or_IndPtr  // ±æÀ̳ª »óÅÂ. ±æÀÌ´Â ¿ª½Ã SQL_NTS¸¦ »ç¿ëÇÏ¸é µÈ´Ù. 
); 
 
SQLRETURN SQLPrepare(SQLHSTMT StatementHandle, SQLCHAR *StatementText, SQLINTEGER TextLength); 
À̸§ ±×´ë·Î SQL½ÇÇàÀ» ÁغñÇÑ´Ù. ¿©±â¼­ Áغñ¶ó´Â °ÍÀº ¹Ì¸® ÄÄÆÄÀÏÇØ ³õ´Â´Ù´Â ¶æÀε¥ ÁÖ·Î ÆÄ¶ó¹ÌÅÍ¿Í °°ÀÌ »ç¿ëµÈ´Ù. 
¿©±â¼­ ÆÄ¶ó¹ÌÅÍ·Î ¹ÙÀεùµÇ´Â º¯¼öÀÇ ³»¿ëÀ» ¹Ù²ãÁָ鼭 ¹Ýº¹ÇÒ °æ¿ì µ¿ÀÏÇÑ ¹®ÀÚ¿­ Á¶ÇÕº¸´Ù ºü¸£´Ù. 
StatementHandleÀº ¸í·É ÇÚµéÀ̰í StatementText´Â SQL¹®ÀåÀÌ´Ù. TextLength´Â ¹®ÀÚ¿­ÀÇ ±æÀÌ·Î ¿ª½Ã³ª SQL_NTS¸¦ »ç¿ë½Ã °£ÆíÇÏ´Ù. 
 
SQLRETURN SQLExecute(SQLHSTMT StatementHandle); 
½ÇÇàÇÑ´Ù. StatementHandleÀº ¿¬°áÇÚµéÀ̰í À§ÀÇ ÇÔ¼ö¿Í ¿¬°áµÇ¼­ »ç¿ëµÈ´Ù. 

Áø´Ü Á¤º¸

SQLRETURN ÇüÀÌ´Ù. 
----------------------------------------------------------------------------------------------------------------------- 
¿¡·¯                   ½ÇÁ¦°ª     ÀÇ¹Ì 
----------------------------------------------------------------------------------------------------------------------- 
SQL_SUCCESS            0          ÇÔ¼ö È£ÃâÀÌ ¼º°ø. 
SQL_SUCCESS_WITH_INFO  1          ÇÔ¼ö È£ÃâÀº ¼º°øÇßÀ¸³ª °æ°í°¡ ¹ß»ý. °æ¿ì¿¡ µû¶ó ¹«½ÃÇÒ¼öµµ ÀÖ°í ±×·¸Áö ¾ÊÀ»¼öµµ ÀÖÀ½ 
SQL_ERROR              -1         ÀϹÝÀûÀÎ ¿¡·¯ÀÌ´Ù. 
SQL_INVALID_HANDLE     -2         ÇÚµéÀÌ ¹«È¿ÇÏ´Ù. ÀÌ°Ç 100%Äڵ带 À߸ø »ç¿ëÇÏ¿´±â ¶§¹®ÀÌ´Ù. ¹Ýµå½Ã ¼öÁ¤. 
SQL_NO_DATA            100        ´õÀÌ»ó Àоî¿Ã µ¥ÀÌÅͰ¡ ¾ø´Ù. ¸ðµç ·¹Äڵ带 ´Ù ÀÐÀº EOF»óȲÀÌ´Ù. 
SQL_NEED_DATA          99         Ãß°¡ÀûÀÎ Á¤º¸°¡ ÇÊ¿äÇÏ´Ù. ½ÇÇàÁß¿¡ ´õ ¸¹Àº ÇÊ¿äÇÑ ÆÄ¶ó¹ÌÅÍ µ¥ÀÌÅ͸¦ º¸³»¾ß ÇÏ´Â °æ¿ì´Ù. 
SQL_STILL_EXECUTING    2          ÇÔ¼ö°¡ ºñµ¿±âÀûÀ¸·Î ½ÇÇàµÇ¾ú°í ¾ÆÁ÷ ½ÇÇàÁßÀÌ´Ù. 
----------------------------------------------------------------------------------------------------------------------- 
 
À©µµ¿ìÀÇ GetLastError¿Í °°Àº ¿ªÈ°À» ÇÏ´Â SQLGetDiagFieldÇÔ¼ö 
Á¤º¸´Â Çì´õ·¹ÄÚµå¿Í »óÅ·¹Äڵ尡 ÀÖ´Ù. 
Çì´õ·¹ÄÚµå(Header Record)´Â ÇÔ¼öÀÇ ¼º°øÀ¯¹«¶ûÀº »ó°ü¾øÀÌ ¸®ÅÏÄÚµå, ¸®ÅÏµÈ ·¹Äڵ尳¼ö, »óÅ ·¹ÄÚµåÀÇ °³¼ö, ½ÇÇàµÈ ¸í·É¾îÀÇ Á¾·ùµîÀÌ Æ÷ÇԵȴÙ. 
»óÅ·¹ÄÚµå(Status Record)´Â º¸Åë Çϳª°¡ ¸®Åϵdzª ¿©·¯ °³ÀÇ ¿¡·¯°¡ µ¿½Ã¿¡ »ý°åÀ»¶§´Â »óÅ·¹ÄÚµåÀÇ °³¼öµµ ±×¸¸Å­ ¸®ÅϵȴÙ.  
 
SQLRETURN SQLGetDiagField( 
     SQLSMALLINT HandleType,      // ÇÚµé ŸÀÔÀÌ´Ù. 
     SQLHANDLE Handle,            // ÇÚµéÀÌ´Ù. 
     SQLSMALLINT RecNumber,       // 0¹ø Çì´õ ·¹ÄÚµå, 1¹ø ÀÌ»ó »óÅ ·¹ÄÚµå 
     SQLSMALLINT DiagIdentifier,  // ÀаíÀÚ ÇÏ´Â ÇʵåÀÇ À̸§. ·¹ÆÛ·±½º ÂüÁ¶ ÇϽÿÀ. 
     SQLPOINTER DiagInfoPtr,      // Á¤º¸¸¦ ¾ò±âÀ§ÇÑ Ãâ·Â¿ë º¯¼ö 
     SQLSMALLINT BufferLength,    // À§ÀÇ º¯¼öÀÇ ¹öÆÛÀÇ Å©±â 
     SQLSMALLINT *StringLengthPtr // Ãâ·Â µÇ°íÀÚ ÇÏ´Â ³»¿ëÀÇ Å©±â 
); 
ÀÌ ÇÔ¼ö´Â ·¹ÄÚµåÀÇ ³»¿ëÀ» Çʵå´ÜÀ§·Î ÀÐÀ» ¼ö ÀÖ´Ù. 
 
SQLRETURN SQLGetDiagRec( 
     SQLSMALLINT HandleType,      // ÇÚµé ŸÀÔ 
     SQLHANDLE Handle,            // ÇÚµé 
     SQLSMALLINT RecNumber,       // 0¹ø Çì´õ ·¹ÄÚµå,  1¹ø ÀÌ»ó »óÅ ·¹ÄÚµå 
     SQLCHAR *SqlState,           // ´Ù¼¸ÀÚ·ÎµÈ ¹®ÀÚ¿­·Î ±¸¼º ¹Ø¿¡ ´ëÇ¥ÀûÀÎ ¸î°¡ÁöÀÌ´Ù. 
     SQLINTEGER *NativeErrorPtr,  // °íÀ¯ ¿¡·¯ ÄÚµå. DBMS¸¶´Ù ´Ù¸§. ±×·¯¹Ç·Î Àß ¾È¾²ÀÓ. 
     SQLCHAR *MessageText,        // ¿¡·¯ ¹ß»ý ¿øÀÎÀÇ ÅØ½ºÆ®. ¿¹¸¦ µé¸é "Å×À̺íÀÌ ¾ø³×¿ä." "Ä÷³ À̸§ÀÌ Æ²·È¾î¿ä" ÀÌ·±-_- 
     SQLSMALLINT BufferLength,    // À§ÀÇ º¯¼öÀÇ ¹öÆÛÀÇ Å©±â 
     SQLSMALLINT *TextLengthPtr   // Ãâ·Â µÇ°íÀÚ ÇÏ´Â ³»¿ëÀÇ Å©±â 
); 
ÀÌ ÇÔ¼ö´Â ·¹ÄÚµåÀÇ ³»¿ëÀÎ ¸ðµç Çʵ带 Çѹø¿¡ ÀÐ¾î ¿Â´Ù. 
 
------------------------------------------------------------- 
SQLSTATE  ¼³¸í 
------------------------------------------------------------- 
01000     ÀϹÝÀûÀÎ ¿¡·¯ 
01004     ¹®ÀÚ¿­ÀÇ ¿À¸¥ÂÊÀÌ Àß·È´Ù. ¹ÙÀεùµÈ ¹öÆÛÀÇ ±æÀ̰¡ ª´Ù. 
01S02     ¿É¼ÇÀÌ º¯°æµÇ¾ú´Ù. 
22003     ¼ýÀÚÀÇ ¹üÀ§°¡ ³Ñ¾ú´Ù. 
42000     ¹®¹ý¿¡·¯ ¶Ç´Â ¾×¼¼½º À§¹Ý 
42S02     Å×ÀÌºí ¶Ç´Â ºä°¡ Á¸ÀçÇÏÁö ¾Ê´Â´Ù. 
HY000     ÀϹÝÀûÀÎ ¿¡·¯ 
HYC00     ¿É¼ÇÀ¸·Î Á¦°øµÇ´Â ±â´ÉÀÌ ±¸ÇöµÇÁö ¾Ê¾úÀ½. 
HYT00     Á¦Çѽð£ Ãʰú 
------------------------------------------------------------- 
 


PythonPowered EditText of this page (last modified 2008-11-05 11:01:00)
FindPage by browsing, searching, or an index
Or try one of these actions: DeletePage, DeleteUploadedFile, LikePages, SpellCheck, UploadFile