Java 如何增加CLOB数据类型的大小?
我已经在java嵌入式databasederby中创建了CLOB数据类型 我有一份大约273KB的办公文件 摘录文件:Java 如何增加CLOB数据类型的大小?,java,sql,derby,clob,Java,Sql,Derby,Clob,我已经在java嵌入式databasederby中创建了CLOB数据类型 我有一份大约273KB的办公文件 摘录文件: XWPFWordExtractor ext = new XWPFWordExtractor(doc); str = ext.getText(); Reader r=new StringReader(str); 插入文档内容: Connection con=DriverManager.getConnection("jdbc:derb
XWPFWordExtractor ext = new XWPFWordExtractor(doc);
str = ext.getText();
Reader r=new StringReader(str);
插入文档内容:
Connection con=DriverManager.getConnection("jdbc:derby:C:/Users/Sithik/.netbeans/7.1.1/derby/ques"); /* Note use' / 'and not' \' The url above will be different in your system*/
PreparedStatement stmt=con.prepareStatement("insert into APP.NEW(Q1) values(?)");
stmt.setCharacterStream(1, r, str.length());
stmt.executeUpdate();
没有异常,查询已成功执行,但问题是,只插入了大小为2kb的内容
你能帮我解决这个问题吗
谢谢,
Sithik您如何确定插入的内容?表的CREATETABLE语句是什么?运行程序时str.length是多少?您正在运行什么版本的Derby?什么版本的Java?您能否提供一个完整的示例程序来演示这种行为?Derby单元测试套件验证CLOB的插入长度是否达到2GB,因此问题一定出在其他地方。这一定是程序代码中的某个内容,Derby在CLOB列中肯定可以存储超过2KB的数据。但是office文档不是字符串-它是一个二进制文件,因此必须使用BLOB列并使用setBinaryStream写入数据。如果您的office文档在2kb之后有一些空字符,我不会感到惊讶。您如何确定插入了什么?如何确定插入了什么?在数据库中,我运行了查询select*From table_name和column字段,该字段仅显示插入的前两页。。。。Derby版本:10.9.1…Java1.6。。。如果我在数据库中运行以下查询,则返回错误代码30000,SQL状态54002:以产品名称开头的字符串常量:高级编程系统检查代码:HP2-K20 Ex&'太长。可能需要使用alter table SQL命令。