Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö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()...;   
 &


Ïà¹ØÎĵµ£º

WINFORM+Oracle¿Í»§¶Ë²¼Êð

×¢£ºÏÂÃæÖ»ÊÇÎÒ´ÖÁӵļǼһÏ£¬×Ô¼ºÔÚ¿ª·¢ÖÐËùѧµÄÒ»²¿·Ö×ÊÁÏ£¡
1£®  µÚÒ»¡¢ÊÇÏÂÔØÒ»¸ö“Oracle9i¿Í»§¶Ë¾«¼ò°æ.exe”¿Í»§¶Ë£¬È»ºó°ÑËü°²×°µ½CÅÌÏÂÃæ¡£
È»ºó°ÑÎÒÃÇ×Ô¼ºÅäÖúõĔ tnsnames.ora”Îļþ£¬¸´¸ÇC:\oracle\ora90\network\adminÏÂÃæµÄtnsnames.oraÎļþ¡£
2£®  ÔÚVS2005¿ª·¢¹¤¾ßÖ ......

oracleÖбéÀúÊ÷ÐνṹµÄ·½·¨

 start with....connect by prior....×Ó¾ä
ÀýÈ磺employee±íÖеÄÊý¾ÝÈçÏ£º
employee_id     name    manager_id
       1                    ......

µ¼³öOracleÊý¾Ý¿â½á¹¹

µ¼³öOracleÊý¾Ý¿â½á¹¹
 
1.·½·¨Ò»£ºÖ±½ÓдsqlÓï¾ä
//»ñȡһ¸öSCHEMAϵÄËùÓн¨±íºÍ½¨Ë÷ÒýµÄÓï·¨£¬ÒÔscottΪÀý£º
spool portal_schema.sql
SELECT DBMS_METADATA.GET_DDL('TABLE',u.table_name)
from USER_TABLES u;
SELECT DBMS_METADATA.GET_DDL('INDEX',u.index_name)
from USER_INDEXES u;
spool off;
2. ......

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 ......

ÈçºÎ½â³ýOracle ÕʺÅËø¶¨(the account is locked)

½â¾ö°ì·¨£º
1.ʹÓÃOracleÓû§µÇ¼ϵͳ£¬ÔÚCMDÖÐÆôÓÃSQLPLUS
2.sqlplus /nolog
3.SQL> connect /as sysdba
¡¡¡¡¡¡   Connected.
4.SQL> alter user system account unlock;
¡¡¡¡¡¡    User altered.
Ëø¶¨Õ˺ŷ½·¨£º
1.SQL> alter user system account lock;
¡¡¡¡¡¡  & ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ