ѧϰOracleÖÐBlobºÍClobÒ»µãµãÐĵÃ
BlobÊÇÖ¸¶þ½øÖÆ´ó¶ÔÏóÒ²¾ÍÊÇÓ¢ÎÄBinary Large ObjectµÄËùд£¬¶øClobÊÇÖ¸´ó×Ö·û¶ÔÏóÒ²¾ÍÊÇÓ¢ÎÄCharacter Large ObjectµÄËùд¡£Óɴ˿ɼûÕâÁ¾¸öÀàÐͶ¼ÊÇÓÃÀ´´æ´¢´óÁ¿Êý¾Ý¶øÉè¼ÆµÄ£¬ÆäÖÐBLOBÊÇÓÃÀ´´æ´¢´óÁ¿¶þ½øÖÆÊý¾ÝµÄ£»CLOBÓÃÀ´´æ´¢´óÁ¿Îı¾Êý¾Ý¡£
ÄÇôÓÐÈ˿϶¨ÒªÎʼÈÈ»ÒѾÓÐVARCHARºÍVARBINARYÁ½ÖÐÀàÐÍ£¬ÎªÊ²Ã´»¹ÒªÔÙʹÓÃÁíÍâµÄÁ½ÖÖÀàÐÍÄØ£¿ÆäʵÎÊÌâºÜ¼òµ¥£¬VARCHAR ºÍVARBINARYÁ½ÖÖÀàÐÍÊÇÓÐ×Ô¼ºµÄ¾ÖÏÞÐԵġ£Ê×ÏÈ˵ÕâÁ½ÖÖÀàÐ͵ij¤¶È»¹ÊÇÓÐÏ޵IJ»¿ÉÒÔ³¬¹ýÒ»¶¨µÄÏ޶ÒÔVARCHARÔÙORAÖÐΪÀý³¤¶È²»¿ÉÒÔ³¬¹ý4000£»ÄÇôÓÐÈËÓÖÒªÎÊÁË£¬LONGVARCHARÀàÐÍ×÷ΪÊý¾Ý¿âÖеÄÒ»ÖÖ´æ´¢×Ö·ûµÄÀàÐÍ¿ÉÒÔÂú×ãÒªÇ󣬴洢ºÜ³¤µÄ×Ö·û£¬ÄÇΪʲô·ÇÒª³öÏÖCLOBÀàÐÍÄØ£¿ÆäʵÈç¹ûÄãÓùýLONGVARCHARÀàÐ;Ͳ»ÄÑ·¢ÏÖ£¬¸ÃÀàÐ͵ÄÒ»¸öÖØҪȱÏݾÍÊDz»¿ÉÒÔʹÓÃLIKEÕâÑùµÄÌõ¼þ¼ìË÷¡££¨ÉÔºò½«½éÉÜÔÚCLOBÖÐÈçºÎʵÏÖÀàËÆLIKEµÄÄ£ºý²éÕÒ£©ÁíÍâ³ýÁËÉÏÊöµÄÎÊÌâÍ⣬»¹ÓÖÒ»¸öÎÊÌ⣬¾ÍÊÇÔÚÊý¾Ý¿âÖÐVARCHARºÍVARBINARYµÄ´æÈ¡Êǽ«È«²¿ÄÚÈÝ´ÓÈ«²¿¶ÁÈ¡»òдÈ룬¶ÔÓÚ100K»òÕß˵¸ü´óÊý¾ÝÀ´ËµÕâÑùµÄ¶Áд·½Ê½£¬Ô¶²»ÈçÓÃÁ÷½øÐжÁдÀ´µÃ¸üÏÖʵһЩ¡£
ÔÚJDBCÖÐÓÐÁ½¸ö½Ó¿Ú¶ÔÓ¦Êý¾Ý¿âÖеÄBLOBºÍCLOBÀàÐÍ£¬java.sql.BlobºÍjava.sql.Clob¡£ºÍÄãƽ³£Ê¹ÓÃÊý¾Ý¿âÒ»ÑùÄã¿ÉÒÔÖ±½Óͨ¹ýResultSet.getBlob()·½·¨À´»ñÈ¡¸Ã½Ó¿ÚµÄ¶ÔÏó¡£ÓëƽʱµÄ²éÕÒΨһ²»Í¬µÄÊǵõ½Blob»òClobµÄ¶ÔÏóºó£¬ÎÒÃDz¢Ã»Óеõ½ÈκÎÊý¾Ý£¬µ«ÊÇÎÒÃÇ¿ÉÒÔÕâÁ½¸ö½Ó¿ÚÖеķ½·¨µÃµ½Êý¾Ý
ÀýÈ磺
Blob b=resultSet.getBlob(1);
InputStream bin=b.getBinaryStryeam();
Clob c=resultSet.getClob(2);
Reader cReader=c.getCharacterStream():
¹ØÓÚClobÀàÐ͵ĶÁÈ¡¿ÉÒÔʹÓøüÖ±½ÓµÄ·½·¨£¬¾ÍÊÇÖ±½Óͨ¹ýResultSet.getCharacterStream();·½·¨»ñµÃ×Ö·ûÁ÷£¬µ«¸Ã·½·¨²¢²»°²È«£¬ËùÒÔ½¨Ò黹ÊÇʹÓÃÉÏÃæÀý×ӵķ½·¨»ñÈ¡Reader¡£
ÁíÍ⻹ÓÐÒ»ÖÖ»ñÈ¡·½·¨£¬²»Ê¹ÓÃÊý¾ÝÁ÷£¬¶øÊÇʹÓÃÊý¾Ý¿é¡£
ÀýÈç
Blob b=resultSet.getBlob(1);
byte data=b.getByte(0,b.length());
Clob c=resultSet.getClob(2);
String str=c.getSubString(0,c.length()):
ÔÚÕâÀïÎÒҪ˵Ã÷һϣ¬Õâ¸ö·½·¨Æäʵ²¢²»°²È«£¬Èç¹ûÄãºÜϸÐĵĻ°£¬ÄǺÜÈÝÒ×¾ÍÄÜ·¢ÏÖgetByte()ºÍgetSubString()Á½¸ö·½·¨Öеĵڶþ¸ö²ÎÊý¶¼ÊÇintÀàÐ͵ģ¬¶øBLOBºÍCLOBÊÇÓÃÀ´´æ´¢´óÁ¿Êý¾ÝµÄ¡£¶øÇÒBolb.length()ºÍClob.length()µÄ·µ»ØÖµ¶¼ÊÇ longÀàÐ͵ģ¬
Ïà¹ØÎĵµ£º
oracle±í¿Õ¼ä²Ù×÷Ïê½â
1
2
3×÷Õߣº À´Ô´£º ¸üÐÂÈÕÆÚ£º2006-01-04
5
6
7½¨Á¢±í¿Õ¼ä
8
9CREATE TABLESPACE data01
10DATAFILE '/ora ......
¿Î³ÌÊ® дִÐÐÓï¾ä
¡¡¡¡
¡¡¡¡±¾¿ÎÖص㣺
¡¡¡¡1¡¢Á˽âPLSQLÖ´ÐÐÇø¼äµÄÖØÒªÐÔ
¡¡¡¡2¡¢Ð´Ö´ÐÐÓï¾ä
¡¡¡¡3¡¢ÃèÊöǶÌ׿éµÄ¹æÔò
¡¡¡¡4¡¢Ö´ÐÐÇÒ²âÊÔPLSQL¿é
¡¡¡¡5¡¢Ê¹ÓôúÂë¹ßÀý
¡¡¡¡
¡¡¡¡×¢Ò⣺ÒÔÏÂʵÀýÖбêµã¾ùΪӢÎÄ°ë½Ç
¡¡¡¡
¡¡¡¡Ò»¡¢PLSQL ¿éµÄÓï·¨¹æÔò£º
¡¡¡¡1¡¢Óï¾ä¿ÉÒÔ¿çÔ¾¼¸ÐС£
¡¡¡¡2¡¢´Ê»ãµ¥Ôª¿ÉÒÔ°ü ......
ʹÓÃjava + oracle²åÈëclobÀàÐ͵ÄÊý¾Ý£¬ÐèÒªÓÃÒÔϵIJ½Ö裺
1¡¢½«Êý¾Ý²åÈëÊý¾Ý¿â£¬¶ÔÓÚclob×ֶΣ¬Ê¹ÆäΪ¿ÕclobÊý¾Ý¡£ÀýÈ磺insert into test values(1,empty_clob())";
2¡¢´ÓÊý¾Ý¿âÖÐÈ¡³ö²åÈëµÄclob×ֶΣ¬²¢½«Æ丳ֵ¸øoracle.sql.clobÀàÐ͵ıäÁ¿¡£ÀýÈç
String sqll="select content from test where id=1 for upda ......
41.SYSDATE
ÓÃÀ´µÃµ½ÏµÍ³µÄµ±Ç°ÈÕÆÚ
SQL> select to_char(sysdate,dd-mm-yyyy day) from dual;
TO_CHAR(SYSDATE,
-----------------
09-05-2004ÐÇÆÚÈÕ
trunc(date,fmt)°´ÕÕ¸ø³öµÄÒªÇó½«ÈÕÆڽضÏ,È ......
×î½ü·¢ÏÖÓÐÒ»¸öÒ³ÃæµÄ´ò¿ªËٶȺÜÂý£¬¼¸ºõÿ´Î¶¼ÐèҪˢÐÂÊ®¼¸´Î²ÅÄÜ´ò¿ª£¬·ÖÎöÔÒò¿ÉÄÜÊÇÓÉÓÚʱ¼äµÄ»ýÀÛ£¬¸Ã±íÖеÄÊý¾ÝÁ¿¹ý´óÒýÆðµÄ£¨¸Ã±íÊÇÒ»ÕÅ´æ·Å¹ý³ÌÐÔÊý¾ÝµÄ±í£©¡£¾²éʵ£¬¹ûÕæÊǸñíÊý¾ÝÁ¿¹ý´ó£¬ÓÐ7°ÙÍòÖ®¶à¡£Ëì¾ö¶¨½«²¿·ÖÀúÊ·Êý¾Ý±¸·Ý²¢Çå³ýµô£¬ÒÔÌá¸ßÐÔÄÜ¡£
ʹÓãºcreart table table_bak as select * from t ......