oracle中字段选择问题 请问在oracle中存储新闻主体部分应该用什么字段?为什么我用clob字段在表中不能插入数据? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 为什么我用clob字段在表中不能插入数据?==================================怎么插入的?应该使用dbms_lob包中的过程来操作。 我的可以啊,不知道你插入数据时,提示什么错?(NVARCHAR2最多可存2000个汉字,blob一般存放二进制的数据,CLOB一般存放文本数据!)SQL> create table test1 (c clob);表已创建。SQL> insert into test1 values('村在夺取');已创建 1 行。SQL> select * from test1;C-------------------------------------------村在夺取 clob数据过大时不能按一般字段存储添加 /** * 往数据库中插入一个新的CLOB对象 * * @param infile - 数据文件 * @throws java.lang.Exception * @roseuid 3EDA04A902BC */ public static void clobInsert(String infile) throws Exception { /* 设定不自动提交 */ boolean defaultCommit = conn.getAutoCommit(); conn.setAutoCommit(false); try { /* 插入一个空的CLOB对象 */ stmt.executeUpdate("INSERT INTO TEST_CLOB VALUES ('111', EMPTY_CLOB())"); /* 查询此CLOB对象并锁定 */ ResultSet rs = stmt.executeQuery("SELECT CLOBCOL FROM TEST_CLOB WHERE ID='111' FOR UPDATE"); while (rs.next()) { /* 取出此CLOB对象 */ oracle.sql.CLOB clob = (oracle.sql.CLOB)rs.getClob("CLOBCOL"); /* 向CLOB对象中写入数据 */ BufferedWriter out = new BufferedWriter(clob.getCharacterOutputStream()); BufferedReader in = new BufferedReader(new FileReader(infile)); int c; while ((c=in.read())!=-1) { out.write(c); } in.close(); out.close(); } /* 正式提交 */ conn.commit(); } catch (Exception ex) { /* 出错回滚 */ conn.rollback(); throw ex; } /* 恢复原提交状态 */ conn.setAutoCommit(defaultCommit); } clob数据过大不能和一般的数据添加类似的插入。。要转换成数据流的形式 请高手帮帮忙,感谢了 在oracle的insert select连用时的主键值是大家是怎么解决的 sql语句搜索唯一字段 请教 oracle10g sql问题 大家好,高分求救一个简单通过PL/SQL导出数据的问题。 OCIStmtExecute 调用存储返回值不能为空? 统计报表问题 复杂的SQL查询语句? 请问,方案->表-> HR,MDSYS,OE,PM,SYS,SYSTEM,SCOTT等是什么来的?分区? 100分如何学习可以快速掌握Oracle? 如何学习sqlplus? 一个itpub没人解决的问题 基础问题
==================================
怎么插入的?应该使用dbms_lob包中的过程来操作。
SQL> create table test1 (c clob);表已创建。SQL> insert into test1 values('村在夺取');已创建 1 行。SQL> select * from test1;C
-------------------------------------------村在夺取
* 往数据库中插入一个新的CLOB对象
*
* @param infile - 数据文件
* @throws java.lang.Exception
* @roseuid 3EDA04A902BC
*/
public static void clobInsert(String infile) throws Exception
{
/* 设定不自动提交 */
boolean defaultCommit = conn.getAutoCommit();
conn.setAutoCommit(false); try {
/* 插入一个空的CLOB对象 */
stmt.executeUpdate("INSERT INTO TEST_CLOB VALUES ('111', EMPTY_CLOB())");
/* 查询此CLOB对象并锁定 */
ResultSet rs = stmt.executeQuery("SELECT CLOBCOL FROM TEST_CLOB WHERE ID='111' FOR UPDATE");
while (rs.next()) {
/* 取出此CLOB对象 */
oracle.sql.CLOB clob = (oracle.sql.CLOB)rs.getClob("CLOBCOL");
/* 向CLOB对象中写入数据 */
BufferedWriter out = new BufferedWriter(clob.getCharacterOutputStream());
BufferedReader in = new BufferedReader(new FileReader(infile));
int c;
while ((c=in.read())!=-1) {
out.write(c);
}
in.close();
out.close();
}
/* 正式提交 */
conn.commit();
} catch (Exception ex) {
/* 出错回滚 */
conn.rollback();
throw ex;
} /* 恢复原提交状态 */
conn.setAutoCommit(defaultCommit);
}