conn.set_max_long_size(60000); otl_stream o; o.set_lob_stream_mode(true); string sql="insert into tbperson(name,zhicheng,zhiwei,type,ordernum,oid,content,img) values(" ":name<char[51]>," ":zhicheng<char[51]>," ":zhiwei<char[51]>," ":type<int>," ":ordernum<int>," ":oid<int>," ":content<varchar_long>," ":img<raw_long>" ")"; o.open(1,sql.c_str(),conn); o.set_commit(0); char name[52]; char zhicheng[52]; char zhiwei[52]; strcpy(name,info.name.c_str()); strcpy(zhicheng,info.zhicheng.c_str()); strcpy(zhiwei,info.zhiwei.c_str()); o<<name; o<<zhicheng; o<<zhiwei; o<<info.type; o<<info.ordernum; o<<info.oid; otl_lob_stream lob; otl_lob_stream lobImg; o<<lob; o<<lobImg; otl_long_string lstm(info.content.c_str(),0,info.content.length());//string转成otl_long_string才能加入大对象中 lob.set_len(lstm.len()+1);//设置lob对象大小,+1是为了多出一位,以加入结束符/0 lob<<lstm;//为lob赋值 lob.close();//关闭lob //图片 otl_long_string img(info.img,0,info.imglength); lobImg.set_len(img.len()+1); lobImg<<img; lobImg.close(); conn.commit();