[ת] proc oracle Á¬½ÓÊͷŲ»Á˵ÄÎÊÌâ
ת×Ô£ºhttp://www.91linux.com/html/article/database/oracle/20081205/14333.html
proc oracle Á¬½ÓÊͷŲ»Á˵ÄÎÊÌâ
±ÊÕß¹«Ë¾µÄÓ¦ÓÃϵͳÿ¸ôÒ»¶Îʱ¼ä£¬oracleÁ¬½Ó¾Í´ïµ½ÉÏÏÞÁË£»»³ÒÉÊÇÓ¦ÓÃûÓÐÕýÈ·µÄÊÍ·ÅoracleÁ¬½Ó£»ËµÀ´²ÑÀ¢£¬proc¶Ï¶ÏÐøÐøµÄÓÃÁ˼¸Ä꣬¿É
ÄÜÊÇÒÔǰ¹«Ë¾µÄ´úÂëдµÃÌ«ºÃÁË£¬´ÓûÓÐÈ¥¹ØÐÄ»ù±¾µÄprocÁ¬½Ó¡¢ÊÍ·ÅÊÇÔõô´¦ÀíµÄ£¬ÕâÎÊÌâ±ÆµÃÎÒµÃÈ¥ÊìϤÕâ·½ÃæµÄ¶«Î÷ÁË£»ÅªÁËÁ½Ìì²ÅÕÒµ½ÎÊÌâµÄ¸ùÔ´£¬Æä
Öдó°ëʱ¼äÊÇÊìϤÔϵͳµÄ´úÂë¡¢¶¨Î»ÎÊÌ⣬ÆäËûʱ¼äÊÇÕÒÍøÉϵÄ×ÊÁÏ¿´¡¢×öÏà¹ØµÄ²âÊÔ£»
¾¹ý·ÖÎö£¬½«ÎÊÌⶨλÔÚÁËÊý¾Ý¿â´ò¿ª¡¢¹Ø±ÕµÄÏà¹Øº¯Êý£»ºǫ́c++Ó¦Óõĸù±¾Ã»Óгɹ¦µÄÊÍ·Åoracle Á¬½Ó£¬Êý¾Ý¿â²Ù×÷º¯ÊýÈçÏ£º
sql_context db_open(const char* usr, const char* pwd)
{
EXEC SQL BEGIN DECLARE SECTION;
sql_context ctx;
char username[64];
char passwd[64];
EXEC SQL END DECLARE SECTION;
struct sqlca sqlca;
EXEC SQL ENABLE THREADS;
EXEC SQL CONTEXT ALLOCATE :ctx;
EXEC SQL CONTEXT USE :ctx;
strcpy(username,usr);
strcpy(passwd,pwd);
EXEC SQL CONNECT :username IDENTIFIED BY :passwd;
if (sqlca.sqlcode)
{
printf( "Á¬½ÓoracleÊý¾Ý¿âʧ°Ü!");
return NULL;
}
return ctx;
}
int db_close(sql_context ctx)
{
struct sqlca sqlca;
EXEC SQL CONTEXT FREE :ctx;
if( SQLCODE != 0 )
{
printf( "¶Ï¿ªÊý¾Ý¿âÁ¬½Óʧ°Ü!%d:%s\n",SQLCODE,sqlca.sqlerrm.sqlerrmc );
return -1;
}
return 0;
}
¾¹ý²âÊÔ£¬·¢ÏÖÒÔÉÏdb_close¸ù±¾Ã»ÓÐÊÍ·ÅÊý¾Ý¿âÁ¬½Ó£»¾¹ýºÍÍøÉÏʾ·¶³ÌÐòµÄ¶Ô±È£¬ÖÕÓÚ·¢ÏÖÁËÎÊÌ⣺
Ô
À´oracle µÄsql context£¬ÐèÒª releaseÖ®ºó£¬²ÅÄÜÕýÈ·ÊÍ·ÅÊý¾Ý¿âÁ¬½Ó£»Èç¹û²»×örelease£¬free
context²»»á±¨ÈκδíÎ󣨼´db_closeÖв¢²»·µ»Ø-1£©£¬µ«ÊÇÊý¾Ý¿âÁ¬½ÓÈ´²»»áÊÍ·Å£¨¶ÔoracleµÄÕâ¸ö´¦Àí»úÖÆ£¬º¹Ò»¸ö-_-|||£¬»ò
Õß˵Ã÷ÎÒµÄproc±È½ÏÈõ°É£¬¿ÉÄÜ»¹ÓбðµÄ½â¾ö°ì·¨£©£»
°Ñdb_close¸Ä³ÉÈçÏ£¬ÎÊÌâ½â¾ö£º
int db_close(sql_context ctx)
{
struct sqlca sqlca;
EXEC SQL CONTEXT USE :ctx;
EXEC SQL COMMIT WORK RELEASE;
EXEC SQL CONTEXT FREE :ctx;
if( SQLCODE != 0 )
{
printf( "¶Ï¿ªÊý¾Ý¿âÁ¬½Óʧ°Ü!%d:%s\n",SQLCODE,sqlca.sqlerrm.sqlerrmc );
return -1;
}
return 0;
}
×¢Òâ
Ïà¹ØÎĵµ£º
ËäȻѧϰJavaºÜ¾ÃÁË£¬×Ô¼ºÒ²Á¬½Ó¹ýһЩÊý¾Ý¿â£¬±ÈÈçmysqlÖ®ÀàµÄ£¬Èç½ñÄØ£¬Ò²Ñ§Ï°ÁËÒ»¶Îʱ¼äµÄOracle£¬È»¶øÄØ£¬½ñÌìÊÇÎÒµÚÒ»´ÎÁ¬½ÓOracle£¬ºÙºÙ£¬Ó¦¸Ã»¹²»ËãÌ«³Ù°É¡£
½ñÌìÄØ£¬Óе㱿׾£¬´ó¼ÒĪЦ£¡
ÎÒÕâÊÇÒ»¸ö²éѯÀý×Ó
Ê×ÏÈ£¬Ô ......
ÔÚʹÓÃOracleÖÐʹÓÃRownum£¬»áÓÐЩÎó½â£¬ÏÖÕûÀíÏÂÍøÓÑÃǵÄÎÄÕ£¬Ï£ÍûÄÜÓÐËù°ïÖú£¬ºÇºÇ
¶ÔÓÚ Oracle µÄ rownum ÎÊÌ⣬ºÜ¶à×ÊÁ϶¼Ëµ²»Ö§³Ö>,>=,=,between...and£¬Ö»ÄÜÓÃÒÔÉÏ·ûºÅ(<¡¢<=¡¢!=)£¬²¢·Ç˵ÓÃ>,>=,=,between..and ʱ»áÌáʾSQLÓï·¨´íÎ󣬶øÊǾ³£ÊDz鲻³öÒ»Ìõ¼Ç¼À´£¬»¹»á³öÏÖËÆºõÊÇĪÃûÆäÃîµÄ½á¹û ......
OracleÊý¾Ýµ¼Èëµ¼³öimp/exp¾ÍÏ൱ÓÚoracleÊý¾Ý»¹ÔÓ뱸·Ý¡£expÃüÁî¿ÉÒÔ°ÑÊý¾Ý´ÓÔ¶³ÌÊý¾Ý¿â·þÎñÆ÷µ¼³öµ½±¾µØµÄdmpÎļþ£¬impÃüÁî¿ÉÒÔ°ÑdmpÎļþ´Ó±¾µØµ¼Èëµ½Ô¶´¦µÄÊý¾Ý¿â·þÎñÆ÷ÖС£ ÀûÓÃÕâ¸ö¹¦ÄÜ¿ÉÒÔ¹¹½¨Á½¸öÏàͬµÄÊý¾Ý¿â£¬Ò»¸öÓÃÀ´²âÊÔ£¬Ò»¸öÓÃÀ´ÕýʽʹÓá£
Ö´Ðл·¾³£º¿ÉÒÔÔÚSQLPLUS.EXE»òÕßDOS£¨ÃüÁîÐУ©ÖÐÖ´ÐУ¬
......