Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

OracleÖдò¿ªÓα곬³ö×î´óÖµ

 ÏòOracleÊý¾Ý¿â±íÖвåÈëÊ®¼¸ÍòÌõÊý¾Ý£¬¿ÉÊǵ±²åÈë3Íò¶àÌõºó£¬³ÌÐò¾ÍÅ×
Java´úÂë
ORA-01000 maximum open cursors exceeded  
ORA-01000 maximum open cursors exceeded
Òì³£ÐÅÏ¢¡£GoogleÁËÒì³£ÐÅÏ¢£¬µÃÖªÕâÑùµÄ´íÎóºÜÈÝÒ׳öÏÖÔÚJava´úÂëÖеÄÖ÷ÒªÔ­ÒòÊÇ£ºJava´úÂëÔÚÖ´ÐÐconn.createStatement()ºÍconn.prepareStatement()µÄʱºò£¬Êµ¼ÊÉ϶¼ÊÇÏ൱ÓÚÔÚÊý¾Ý¿âÖдò¿ªÁËÒ»¸öcursor¡£ÓÈÆäÊÇ£¬Èç¹ûÄãµÄcreateStatementºÍprepareStatementÊÇÔÚÒ»¸öÑ­»·ÀïÃæµÄ»°£¬¾Í»á·Ç³£ÈÝÒ׳öÏÖÕâ¸öÎÊÌâ¡£ÒòΪÓαêÒ»Ö±ÔÚ²»Í£µÄ´ò¿ª£¬¶øÇÒûÓйرա£
Ò»°ãÀ´Ëµ£¬ÎÒÃÇÔÚдJava´úÂëµÄʱºò£¬createStatementºÍprepareStatement¶¼Ó¦¸ÃÒª·ÅÔÚÑ­»·ÍâÃæ£¬¶øÇÒʹÓÃÁËÕâЩStatmentºó£¬¼°Ê±¹Ø±Õ¡£×îºÃÊÇÔÚÖ´ÐÐÁËÒ»´ÎexecuteQuery¡¢executeUpdateµÈÖ®ºó£¬Èç¹û²»ÐèҪʹÓýá¹û¼¯£¨ResultSet£©µÄÊý¾Ý£¬¾ÍÂíÉϽ«Statment¹Ø±Õ£¨statementName.close()£©¡£
ÏÂÃæ½«´úÂ븽ÉÏ
Å×Òì³£´úÂ룺
Java´úÂë
Connection conn = DBUtils.getConnection();//»ñÈ¡Êý¾Ý¿âÁ¬½Ó   
PreparedStatement pstmt = conn.prepareStatement("select statement...");   
ResultSet rset = pstmt.executeQuery();   
while (rset.next()) {                      
    PreparedStatement pst=conn.prepareStatement("insert statement...");//¿ªÆôÒ»¸öÓÎ±ê   
    //pst.setXXX()...;   
    pst.executeUpdate();   
           
    pst=conn.prepareStatement("another insert statement");//ÔÙ¿ªÆôÒ»¸öÓÎ±ê   
    //pst.setXXX()...;   
    pst.executeUpdate();   
  
    pst=conn.prepareStatement("third insert statement");//¿ªÆôÒ»¸öÓÎ±ê   
    //pst.setXXX()...;   
 &


Ïà¹ØÎĵµ£º

Oracle¹ÜÀíÓëά»¤.ÊÖ¹¤´´½¨Êý¾Ý¿âÒÔ¼°½Å±¾

 Oracle¹ÜÀíÓëά»¤.ÊÖ¹¤´´½¨Êý¾Ý¿âÒÔ¼°½Å±¾
ת×Ô ²Ýľ¹Ï
Ò»¡¢Ç°ÑÔ
 ËµÊµ»°£¬ÔçÒÑÑá¾ëÁËʹÓÃdbcaµÄ´´½¨Êý¾Ý¿â£¬´ó¸Å±È½ÏÓеã×÷ÓõÄÊÇ¿ÉÒÔÉú³É´´½¨½Å±¾°Õ¡£
¡¶Oracle¹ÜÀíÓëά»¤.°²×°´´½¨Æô¶¯¹Ø±ÕÊý¾Ý¿âµÄ³£¼ûÎÊÌâ(Ò»)¡·(Èý¡¢´´½¨Êý¾Ý¿â)Ò»ÎÄÖÐÓÐËùÌá¼°¡£±¾ÎÄÖ÷Òª¾ÍÊÇÏêÊöÊÖ
¹¤Ê¹Óýű¾´´½¨Oracle 10gÊý¾Ý¿â¡£ ......

ORACLE ORA

¶ÔÓÚx$µÄÇé¿ö
SQL> grant select on sys.x$bh to t1;
grant select on sys.x$bh to t1
ERROR at line 1:
ORA-02030: can only select from fixed tables/views
¶ÔÓÚfixed tables/viewsÖ»ÄÜselect
Èç¹ûÏë°Ñx$bhµÄselectȨÏÞgrant¸øÆäËûÓû§Ôõô°ìÄØ,¿ÉÒÔ±äͨһÏÂ
SQL> create view xbh as select * from sys.x$ ......

oracle hints

 ÔÚSQLÓï¾äÓÅ»¯¹ý³ÌÖУ¬¾­³£»áÓõ½hint,ÏÂÃæÎÒÃÇÀ´½éÉÜÒ»ÏÂÔÚSQLÓÅ»¯¹ý³ÌÖг£¼ûOracleÖÐ"HINT"µÄ30¸öÓ÷¨£º
¡¡¡¡1. /*+ALL_ROWS*/
¡¡¡¡±íÃ÷¶ÔÓï¾ä¿éÑ¡Ôñ»ùÓÚ¿ªÏúµÄÓÅ»¯·½·¨,²¢»ñµÃ×î¼ÑÍÌÍÂÁ¿,ʹ×ÊÔ´ÏûºÄ×îС»¯¡£
¡¡¡¡2. /*+FIRST_ROWS*/
¡¡¡¡±íÃ÷¶ÔÓï¾ä¿éÑ¡Ôñ»ùÓÚ¿ªÏúµÄÓÅ»¯·½·¨,²¢»ñµÃ×î¼ÑÏìӦʱ¼ä,ʹ×ÊÔ´ÏûºÄ×îÐ ......

OracleÊý¾Ý×ֵ䳣Óòéѯ

 OracleÊý¾Ý×ֵ䳣Óòéѯ
--²é¿´µ±Ç°Óû§ËùÓÐ±í¼°ÃèÊö
select o.object_name,c.comments
from user_objects o
left outer join user_tab_comments  c
on o.object_name=c.table_name
where object_type='TABLE'
and c.comments like '%ÏîÄ¿%'
 
--²é¿´µ±Ç°Óû§ËùÓÐ×Ö¶ÎÐÅÏ¢¼°ÃèÊö
select c.table ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ