Java+OracleÓ¦Óÿª·¢µÄ¼¸¸öÎÊÌâ
ÎÊÌâÒ»£ºÈç±£¼ÓÔØJDBCÇý¶¯³ÌÐò£º
¡¡¡¡Õý³£ÎÒÃǼÓÔØÇý¶¯³ÌÐòÓÐÈý¸ö;¾¶£º
¡¡¡¡1£©Class.forName(String)ÕâÏëµ±ÓÚclassLoaderÒ»¸öStringÖ¸¶¨µÄÀ࣬ÔÚ×°ÔØÊ±°Ñ¸ÃÇý¶¯³ÌÐòµÄ¾²Ì¬ÄÚÈݶ¼³õʼ»¯£¬ÆäʵÕâʱÇý¶¯³ÌÐòÀàµ÷ÓÃÁËDriverManager.registerDriver(driver)·½·¨
¡¡¡¡2£©Ê¹ÓÃϵͳÊôÐÔ£ºSystem.getProperty().load(new FileInputStream("ÊôÐÔÎļþ"));
¡¡¡¡ÔÚÊôÐÔÎļþÖÐÖ¸¶¨jdbc.driver=drivername ÕâÑùµÄºÃ´¦ÊÇ¿ÉÒÔͬʱ¼ÓÔØ¶à¸öJDBC£¬»»Êý¾Ý¿âʱ²»Ó÷ÃÎÊJAVAÔ´´úÂ룬ֻÊÇÐÞ¸ÄÊôÐÔÎļþ
¡¡¡¡3£©Ö±½ÓregisterDriver(driver£©ÕâÖÖ·½·¨×î¿É¿¿£¬¿ÉÒÔÔÚÈκλ·¾³ÏÂʹÓá£
¡¡¡¡1£©·½·¨¼òµ¥£¬µ«MSµÄJVM²»ÄÜÕýÈ·³õʼ»¯¡£±ÈÈçʹÓÃIEʱÔÚAPPLETÖоͲ»ÄÜʹÓã¬Ó¦¸ÃÓÃ3£©µÄ·½·¨¡£µ«3£©·½·¨ÔÚÁé»îÐÔ·½Ãæ²»Èç2£©£¬¿ÉÒÔ¸ù¾Ý»·¾³×ۺϿ¼ÂÇ¡£
¡¡¡¡ÎÊÌâ¶þ£º´ó¶ÔÏó´æ´¢
¡¡¡¡Ò»°ãÀ´Ëµ£¬´ó¶ÔÏó´æ´¢ÊǰÑÎļþ´æµ½Êý¾Ý¿âÖУ¬µ±È»Ò²¿ÉÒÔÄÚ´æÖеij¬´ó×Ö·û´®¡£¶ÔÓÚÏóͼƬÕâÑùµÄÎļþµ±È»ÊÇÓöþ½øÖÆ´æ´¢£¬ÕâÀïÓкܶàÎóÇø£¬ÍøÂçÉϵĽ̳Ì99%¶¼ÊÇÐв»Í¨µÄ£¬Á¬SUN×Ô¼ºµÄÎĵµ¶¼Ò»Ö±´íÎó£¬ËäÈ»´íÎóºÜС¡£°´Ëµ¶þ½øÖÆÎļþÓ¦¸Ã´æÎªBLOBÀàÐÍ£¬µ«JBDC2²¢²»ÄÜÖ±½Ó¶ÔBLOB´æÈë¶þ½øÖÆÎļþ£¬Èç¹ûÄãÕâÑù×ö£¬»áµÃµ½Ò»¸öIO¶ø²»ÊÇSQLÒì³££¬Îª´Ë»¨ÁËÎÒ½üÁ½¸öСʱ²ÅŪÇå³þ¡£
¡¡¡¡Èç¹ûÒª°ÑÒ»¸ö¶þÖÆÎļþ´æÈëORACLE£¬Óñê×¼µÄJDBCÄã¾ÍÒªÓÃLONG ROWÀàÐÍ£º
¡¡¡¡create table tb_file(name varchar(20),detail long row);
¡¡¡¡È»ºó ¡¡¡¡File file = new File("aaa.gif");
int fileLength =(int) file.length();
InputStream fin = new FileInputStream(file);
PreparedStatement pstmt = con.prepareStatement("insert into tb_file values('aaa.gif',?)");
pstmt.setBinaryStream (1, fin, fileLength);
pstmt.executeUpdate();
¡¡¡¡Èç¹ûÄãÒ»¶¨ÒªÓÃBLOB´æ´¢£¬Äã¾Í±ØÐëÓÃORACLE×Ô¼ºµÄ·½·¨£º
create table tb_file(name varchar(20),detail BLOB);
con.setAutoCommit(false);
stmt.executeUpdate("insert into tb_file values('aaa.gif',empty_blob())");
¡¡¡¡ÏÂÃæ±ØÐëSELECTµÃµ½BLOBµÄ¶ÔÏóÔÙÏòÀïд£º
rs = stmt.executeQuery("select detail from tb_file where name='aaa.gif' for upfdate" );
if(rs.next())
{
Blob blob = rs.getBlob(1);
BinaryOutputStream out = ((oracle.sql.BLOB)blob).getBinaryOutputStream();
byte[] b = new byte[((oracle.sql.BLOB)blob).getBufferSize];
In
Ïà¹ØÎĵµ£º
Java NIO APIÏê½â
ÔÚJDK
1.4ÒÔǰ£¬JavaµÄIO²Ù×÷¼¯ÖÐÔÚjava.ioÕâ¸ö°üÖУ¬ÊÇ»ùÓÚÁ÷µÄ×èÈû£¨blocking£©API¡£¶ÔÓÚ´ó¶àÊýÓ¦ÓÃÀ´Ëµ£¬ÕâÑùµÄAPIʹÓúܷ½
±ã£¬È»¶ø£¬Ò»Ð©¶ÔÐÔÄÜÒªÇó½Ï¸ßµÄÓ¦Óã¬ÓÈÆäÊÇ·þÎñ¶ËÓ¦Óã¬ÍùÍùÐèÒªÒ»¸ö¸üΪÓÐЧµÄ·½Ê½À´´¦ÀíIO¡£´ÓJDK 1.4Æð£¬NIO
API×÷Ϊһ¸ö»ùÓÚ»º³åÇø£¬²¢ÄÜÌṩ·Ç×èÈû(non-blo ......
ÈçºÎÔÚoracleÖе¼ÈëdmpÊý¾Ý¿âÎļþ
OracleÊý¾Ýµ¼Èëµ¼³öimp/exp¾ÍÏ൱ÓÚoracleÊý¾Ý»¹ÔÓ뱸·Ý¡£expÃüÁî¿ÉÒÔ°ÑÊý¾Ý´ÓÔ¶³ÌÊý¾Ý¿â·þÎñÆ÷µ¼³öµ½±¾µØµÄdmpÎļþ£¬impÃüÁî¿ÉÒÔ°ÑdmpÎļþ´Ó±¾µØµ¼Èëµ½Ô¶´¦µÄÊý¾Ý¿â·þÎñÆ÷ÖС£ ÀûÓÃÕâ¸ö¹¦ÄÜ¿ÉÒÔ¹¹½¨Á½¸öÏàͬµÄÊý¾Ý¿â£¬Ò»¸öÓÃÀ´²âÊÔ£¬Ò»¸öÓÃÀ´ÕýʽʹÓá£
Ö´Ðл·¾ ......
ORACLEµÄÒ»¸öÊý¾ÝÎļþµÄ×î´óÖµÊǶàÉÙÄØ£¿
ÎÒÃÇÖªµÀORACLEµÄ×îСµÄÎïÀíµ¥Î»ÊÇBLOCK£¬Êý¾ÝÎļþµÄ×é³ÉµÄ×îÖÕÐÎʽҲÊÇblock£¬ÄÇôÊý¾ÝÎļþµÄ´óСÏÞÖÆ¾ÍÓ¦¸ÃÊÇblockÊýÁ¿µÄÏÞÖÆ£¬ÄÇô¾¿¾¹blockµÄÊýÁ¿ÓкÎÏÞÖÆ£¬ÕâÀï¾ÍÒªÌáµ½Ò»¸öORACLEÄÚ²¿ÊõÓïDBA(´Ëdba·ÇÊý¾Ý¿â¹ÜÀíÔ±£¬¶øÊÇdata block address)
Extent 0 &n ......
ÔÚOracleÖдæÈ¡BLOB¶ÔÏóʵÏÖÎļþµÄÉÏ´«ºÍÏÂÔØ
×÷Õߣº[תÌù] ³ö´¦£º
×î
½ü×öÒ»¸öJ2EEÏîÄ¿£¬ÐèÒªÔÚJSPÒ³ÃæÊµÏÖ¶ÔÎļþµÄÉÏ´«ºÍÏÂÔØ¡£ºÜÔçÒÔǰ¾ÍÖªµÀJDBCÖ§³Ö´ó¶ÔÏó£¨LOB£©µÄ´æÈ¡£¬ÒÔΪºÜÈÝÒ×£¬×öÆðÀ´²Å·¢ÏÖÎÊÌâ¶à
¶à£¬¶ÁÁËÒ»´ó¶ÑÎÄÕ£¬·´¶øÃ»ÓÐʲôͷÐ÷ÁË¡£ÕýÈçÒ»Î»ÍøÓÑÎÄÕÂËù½²£º“&h ......
ǰÑÔ£º
sql_trace ÊÇÎÒÔÚ¹¤×÷Öо³£ÒªÓõ½µÄµ÷ÓŹ¤¾ß£¬Ïà±È½Ïstatspack ÎÒ¸üÔ¸ÒâÓÃÕâ¸ö¹¤¾ß¡£
ÒòΪÊý¾Ý¿âÂýÔÒòµÄ85%ÒÔÉÏÊÇÓÉÓÚsqlÎÊÌâÔì³ÉµÄ£¬statspackûÓÐsqlµÄÖ´Ðмƻ®¡£ÏÔʾûÓÐËüÖ±¹Û£¬·½±ã£¬¶ÔÏëÒªÕë¶ÔÐÔ²»Ç¿£¬
1£¬½éÉÜÊý¾Ý¿âµ÷ÓÅÐèÒª¾³£»áÓõ½µÄ¹¤¾ß ......