J2EE²Ù×÷OracleµÄclobÀàÐÍ×Ö¶Î
2008-09-02
J2EE²Ù×÷OracleµÄclobÀàÐÍ×Ö¶Î
¹Ø¼ü×Ö: java
OracleÖУ¬Varchar2Ö§³ÖµÄ×î´ó×Ö½ÚÊýΪ4KB£¬ËùÒÔ¶ÔÓÚijЩ³¤×Ö·û´®µÄ´¦Àí£¬ÎÒÃÇÐèÒªÓÃCLOBÀàÐ͵Ä×ֶΣ¬CLOB×Ö¶Î×î´óÖ§³Ö4GB¡£
»¹ÓÐÆäËû¼¸ÖÖÀàÐÍ£º
blob:¶þ½øÖÆ,Èç¹ûexe,zip
clob:µ¥×Ö½ÚÂë,±ÈÈçÒ»°ãµÄÎı¾Îļþ.
nlob:¶à×Ö½ÚÂë,ÈçUTF¸ñʽµÄÎļþ.
ÒÔϾÍÊǶÔCLOG×ֶεIJÙ×÷·½·¨£¬ÔÚÎÒÃǵÄÏîÄ¿ÖаïÖúÎĵµ²¿·ÖÓõ½¡£
1¡¢Ê×ÏÈÊÇдÈë
/* ÒÔϱíPF_HELP_CONTENTÖеÄHCONTENT×Ö¶ÎʱCLOBÀàÐ굀 */
// ͨ¹ýÐòÁÐÆ÷Éú³É°ïÖúID
Map map = Query.getMap("Select TO_CHAR(SEQ_HID.nextval) HID from DUAL ");
hid = String.valueOf(map.get("HID"));
//²åÈëÒ»ÌõÊý¾Ý£¬×¢ÒâCLOB×ֶΣ¬ÐèÒªÏȲåÈëÒ»¸ö¿ÕµÄclobÀàÐÍ empty_clob()£¬È»ºóÔÙµ¥¶À¸üÐÂclob×Ö¶Î
sql = "Insert INTO PF_HELP_CONTENT(HID,HCONTENT) VALUES (?,empty_clob()) ";
try
{
//Ö´ÐвåÈë
rtn = DbUtils.executeUpdate(sql,hid);
/* ²åÈë³É¹¦ºó£¬ÐÞ¸ÄHCONTENT×Ö¶ÎÄÚÈÝ */
//È¡µÃÊý¾Ý¿âÁ¬½Ó
Connection conn = DbUtils.getConnection();
//ÊÖ¶¯Ìá½»
conn.setAutoCommit(false);
//¶¨ÒåResultSet ºÍ Clob ±äÁ¿
ResultSet rs = null;
oracle.sql.CLOB clob = null;
//¸üÐÂSQL
String sqlclob = "Select HCONTENT from PF_HELP_CONTENT Where HID=? FOR Update ";
java.sql.PreparedStatement pstmt = conn.prepareStatement(sqlclob);
//hidÊÇvarchar2ÀàÐ͵ģ¬ËùÒÔÓÃsetString
pstmt.setString(1,hid);
//Ö´ÐÐupdateÓï¾ä
rs= pstmt.executeQuery();
if(rs.next())
{
//È¡µÃ¸Õ²ÅµÄHCONTENTµÄÄÚÈÝ£¬Ò²¾ÍÊǸղÅÌí¼ÓµÄempty_clob()
clob = (oracle.sql.CLOB)rs.getClob(1);
}
//ÐèÒªÓÃclob.getCharacterOutputStream()Á÷·½Ê½Êä³ö
Writer write = clob.getCharacterOutputStream();
//дÈë¾ßÌåÄÚÈÝ£¬helpform.getHContent() ´æµÄÊǰïÖúµÄÄÚÈÝ
write.write(helpform.getHContent());
write.flush();
write.close();
rs.close();
//Ìá½»
conn.commit();
conn.close();
}
catch(Exception ex)
{
//.........
}
2¡¢ÐÞ¸ÄCLOB
Ïà¹ØÎĵµ£º
create or replace procedure prc_statistic_declare(table_name varchar2 ,table_name_pass varchar2 ,not_exist varchar2,not_exist_record varchar2)
--eg:'t_statistic_bianyuanhu_month',t_statistic_bianyuanhu_month,('YEAR','STATISTIC_ID')','YESR'
is
v_sql_column varchar2(1000);
  ......
Oracle±íµÄ¹ÜÀí
±íÃûºÍÁÐÃûµÄÃüÃû¹æÔò£º
1±ØÐëÒÔ×Öĸ¿ªÍ·
2³¤¶È²»Äܳ¬¹ý30¸ö×Ö·û
3²»ÄÜʹÓÃOracleµÄ±£Áô×Ö
4Ö»ÄÜʹÓÃÈçÏÂ×Ö·û£ºA-Z,a-z,0-9,$,#µÈ
OracleÖ§³ÖµÄÊý¾ÝÀàÐÍ£º
1char ¶¨³¤£¬×î´ó2000×Ö·û
Àý×Ó£ºchar(10) ‘Ïþ»Ô’ ǰËĸö×Ö·û·Å’Ïþ»Ô’£¬ºóÌíÁù¸ö¿Õ¸ñ²¹È«
2varchar2(20) ±ä³¤£¬×î´ ......
oracleµÄͬÒå´Ê×ܽ᣺
¡¡¡¡´Ó×ÖÃæÉÏÀí½â¾ÍÊDZðÃûµÄÒâ˼£¬ºÍÊÔͼµÄ¹¦ÄÜÀàËÆ¡£¾ÍÊÇÒ»ÖÖÓ³Éä¹ØÏµ¡£
¡¡¡¡1.´´½¨Í¬Òå´ÊÓï¾ä£º
¡¡¡¡create public synonym table_name for user.table_name;
¡¡¡¡ÆäÖеÚÒ»¸öuser_tableºÍµÚ¶þ¸öuser_table¿ÉÒÔ²»Ò»Ñù¡£
¡¡¡¡´ËÍâÈç¹ûÒª´´½¨Ò»¸öÔ¶³ÌµÄÊý¾Ý¿âÉϵÄijÕűí ......
×î½üÔÚʹÓÃOracle×öÎļþÉÏ´«£¬ÒªÇó½«ÎļþÊý¾Ý±£´æµ½Êý¾Ý¿âÖС£OracleÌṩÁËBlobÓÃÀ´´æ´¢¶þ½øÖÆ´ó¶ÔÏóÊý¾Ý£¬¿ÉÊÇËüºÍJava.sqlÀïÃæµÄBlob²»¼æÈÝ£¬¾³£µ¼ÖÂBlob×Ö¶ÎÎÞ·¨Ëø¶¨»òÕß²Ù×÷ʧ°Ü¡£ÓÉÓÚÒÔǰûÓÐ×ö¹ýÕâÑùµÄÀý×Ó£¬ËùÒÔ»¨Á˲»ÉÙʱ¼ä²Å½â¾ö¡£
ÎÒʹÓõÄÊÇstruts2.1.8+spring2.5+hibernate3.2£¬ÏÂÃæÊÇÏà¹Ø´úÂ룺
springÅäÖÃ ......