小编sva*_*aor的帖子

ORA-01461/BLOB/Hibernate

我有一个Oracle Database 10.2.0.4实例.我有基于spring framework 3.0.5,hibernate 3.5.6的java-application.我有一个带有BLOB column(blobContent BLOB)的表和一个带有java.sql.Blob字段的实体(在hibernate XML-mapping中映射为<property name="blobContent" type="blob"/>).我使用Oracle10gDialect.

我得到ORA-01461定期尝试在此表中插入行.我尝试了几个Oracle JDBC驱动程序(10.2.0.4,10.2.0.5和11.2.0.3)但没有任何成功.我的谷歌搜索和搜索metalink数据库的这个问题失败了.我反编译的Oracle JDBC驱动程序,并检查代码起始于法oracle.jdbc.driver.OraclePreparedStatement.setBinaryStream(int, InputStream, long)oracle.jdbc.driver.DBConversionoracle.jdbc.driver.OracleConversionInputStream.

一切都看起来不错,只要这段代码可以认为OK :)

请告知如何跟踪此问题...可能在Oracle端(?)...可能正在寻找一些隐式转换...可能是我错过了一些关于此问题的已知Oracle metalink文章?

java oracle jdbc

6
推荐指数
1
解决办法
2233
查看次数

将ehcache.xml外部化以使用外部属性文件中的属性

我想将属性占位符放在ehcache.xml文件中(如$ {}),以便可以在运行时从外部属性文件(.properties)替换值.就像是:

ehcache.xml(在类路径中):

 <defaultCache
maxElementsInMemory="20000"
eternal="false"
timeToIdleSeconds="${default_TTI}"
timeToLiveSeconds="86400"
overflowToDisk="true"
... />
Run Code Online (Sandbox Code Playgroud)

ehcache.properties(在war/classpath之外):

...
default_TTI=21600
...
Run Code Online (Sandbox Code Playgroud)

目的是能够更改缓存配置,而无需重建应用程序.Spring的PropertyPlaceHolder只适用于我不想要的ehcache的Spring bean definiton(需要将ehcache.xml保存为文件)

这里有类似的帖子,但没有任何东西让我解决.我一直在寻找一个星期!!

我使用Spring 2.5.6,Hibernate 3.2.6和Ehcache 2.4.6

任何帮助或想法是非常Appriciated !!

非常感谢,Tripti.

java spring hibernate ehcache second-level-cache

5
推荐指数
1
解决办法
7650
查看次数

我必须从数据库中获取500K行并将该数据写入文件中,Means执行I/O操作

我必须从数据库中获取500K行并将该数据写入文件中,Means执行I/O操作.我已经完成了两个步骤.

  1. 将每一行逐个写入文件.
  2. 制作那些行的块.在StringBuffer中添加这些行然后打印它们.这个会更好但是有没有什么方法可以让File I/O自己创建缓冲区而不使用StringBuffer.因为这个字符串缓冲区需要更多时间(内部使用Arrays.copyOf)

请建议我这个请找到附带的代码

public void fetchDataWithChunkSpace(Connection con)throws Exception
        {
            String query ="select * from lis.testxml  ";
            long startTime=new Date().getMinutes();
            PreparedStatement stmt = con.prepareStatement(query);
            ResultSet rs = stmt.executeQuery();
            PrintWriter pw = new PrintWriter(new File("c:\\test_chunkSpace.xml"));
            pw.write("<?xml version='1.0' encoding='UTF-8'?>");
            StringBuffer sb = new StringBuffer();
            String t=null; 
            long count =0;
            while(rs.next())
            {   count++;
                t = rs.getString("xmltest");
                sb = sb.append(t);
                if(count%100==0)
                {
                 pw.write(sb.toString());
                 sb = new StringBuffer();
                 System.out.println(count);
                }
            }
            pw.write("\n");
            pw.write("</EndTag>");
            pw.close();
            stmt.close();
            con.close();
            long endTime=new Date().getMinutes();
            System.out.println("chunkSpace  ---> " + (endTime-startTime)); …
Run Code Online (Sandbox Code Playgroud)

java performance file-io

1
推荐指数
1
解决办法
1029
查看次数