Tag: clob

Spring roo – 添加CLOB字段

在我的Web应用程序中,我将一些Text消息保存在DB表(Oracle)的COLUMN中。 早期的VARCHAR2长度(最大长度)是(500 BYTE)。 现在最大长度增加到4000个字符。 所以我需要在我的域类中添加一个’CLOB’字段。 任何人都可以澄清在我的域类中创建CLOB字段需要遵循的步骤。 我的数据库中也有CLOB cloumn。 (开始的命令/语法是什么?)

无法在数据库中保存clob数据类型(Struts,Spring,Hibernate)

@Column(name=”transpired”) @Lob private String transpired; public String getTranspired() { return transpired; } public void setTranspired(String transpired) { this.transpired = transpired; } 我尝试在我们的模型类中使用以下代码。 “透明”是一个包含长文本消息(报告)的字段。 查看“报告”时,它会从数据库中检索数据并在我们的UI中正确显示。 但是,当我保存(编辑或创建)报表时,数据库上的字段保存为(null)。 关于如何保存长文本的任何想法? 我们之前使用的是varchar2(4000),但大多数报告都超过4000个字符。 谢谢。 编辑:我正在使用Oracle 10g。 列类型是CLOB。

使用Oracle 10g中的Hibernate将数据保存到Clob中

我在Hibernate中有一个带有java.sql.Clob列的表 hbm文件: 这是ClobModel : private Integer id; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } private Clob clobData; public Clob getClobData() { return clobData; } public void setClobData(Clob clobData) { this.clobData = clobData; } 当我在hibernate中尝试这个时: SessionFactory sf = new Configuration().configure(“clob.cfg.xml”).buildSessionFactory(); Session sess = sf.openSession(); ClobModel cb = […]

java.lang.ClassCastException:oracle.sql.CLOB无法强制转换为oracle.sql.CLOB

我最近升级了一个使用JAVA 7和JBoss 7.1.1运行的应用程序。该应用程序最初是在JAVA 5和Jboss 4.2.2上开发的。 此应用程序使用hibernate 3进行持久化。 在新平台上,当尝试插入具有上述错误的CLOB字段的表时,应用程序失败。 我使用的是ojdbc14.jar(后端数据库Oracle 10.2.0.3) 这些是我在jboss 7.1.1配置中validation的内容: 为Oracle创建正确的模块。 确保ojdbc14.jar存在于正确的modules目录中 确保jboss目录中的其他任何位置都没有其他冲突的ojdbc.jar 确保应用程序不是指不同的ojdbc.jar。 任何见解都会有所帮助。 我拉着头发试图解决这个问题差不多一个星期了。 非常感谢

Oracle hibernate ORA-01461 CLOB

//大家好。 我的问题是我不能在clob字段中写大日期。 curentli我可以写不超过4000长度的字符串。 你能解释我为什么我不能写clob到clob领域。 我正在使用: Oracle Database 11g企业版11.2.0.1.0版 列表项hibernate 4.2.6.Final 列表项ojdbc 11.1.0.7.0 我的目的是: @Entity @Table(….) public class UiViewSettings implements java.io.Serializable { private Integer id; private String viewName; private String userName; private Clob data; …. @Column(name = “VIEW_DATA”, nullable = false) public Clob getData() { return this.data; } …. } 我更新entety的代码: UiViewSettings viewSettings = new UiViewSettings(); […]

使用setString()从String转换为Clob不起作用

我正在尝试将String转换为Clob以存储在数据库中。 我有以下代码: Clob clob = connection.createClob(); System.out.println(“clob before setting: ” + clob); clob.setString(1,”Test string” ); System.out.println(“clob after setting: ” + clob); System.out.println(“clob back to string: ” + clob.toString()); 当我运行它时,Clob没有被设置,输出如下: clob before setting: org.apache.derby.impl.jdbc.EmbedClob@1f5483e clob after setting: org.apache.derby.impl.jdbc.EmbedClob@1f5483e clob back to string: org.apache.derby.impl.jdbc.EmbedClob@1f5483e 我看起来到处都说使用setString方法,我不知道为什么这对我不起作用。

使用JDBC的Postgres UTF-8 clobs

Postgres JDBC驱动程序似乎无法正确处理UTF-8 clobs。 当您检索clob时,字符不正确(您获得了非ascii字符的标记)。 据说这是一个已知问题: http://archives.postgresql.org/pgsql-bugs/2010-09/msg00034.php https://jira.springsource.org/browse/SPR-7520 http://archives.postgresql.org/pgsql-jdbc/2011-02/msg00032.php 幸运的是,对于我的应用程序,我通常会避免使用clobs,所以我所做的字段就是真正的大变种。 其他人如何处理这种限制?

如何使用Java / JDBC在Oracle数据库中存储长度超过4000个字符的字符串?

我不确定如何使用Java / JDBC将非常长的字符串插入Oracle数据库。 我有一个大于4000个字符的字符串,假设它是6000.我想取这个字符串并将其存储在Oracle数据库中。 这样做的方式似乎是使用CLOB数据类型。 好的,所以我将列声明为描述CLOB。 现在,当实际插入数据时,我有一个准备好的语句pstmt。 它看起来像pstmt = conn.prepareStatement(“INSERT INTO Table VALUES(?)”) 。 所以我想使用方法pstmt.setClob() 。 但是,我不知道如何使用我的String创建一个Clob对象; 没有构造函数(大概是因为它可能比可用内存大得多)。 如何将我的String放入Clob? 请记住,我不是一个非常有经验的程序员; 请尽量保持解释尽可能简单。 效率,良好实践等不是这里的关注点,我只想要绝对最简单的解决方案。 如果可能的话,我想避免下载其他软件包; 现在我只使用JDK 1.4和标记为ojdbc14.jar 。 我看了一下,但我没能按照我发现的任何解释。 如果你有一个不使用Clobs的解决方案,我也会对此持开放态度,但它必须是一列。

Hibernate> CLOB> Oracle :(

我试图写一个超过4000个字符的Oracle clob字段。 这种接缝是一个常见问题,但解决方案似乎不起作用。 所以我从这里寻求帮助。 肮脏的信息: 使用Oracle 9.2.0.8.0 Hibernate3使用注释实现pojo Tomcat 6.0.16 Oracle 10.2.x驱动程序 C3P0连接池提供商 在我的persistence.xml中,我有: org.hibernate.ejb.HibernatePersistence getter和setter看起来像: @Lob @Column(name=”COMMENT_DOC”) public String getDocument(){ return get(“Document”); } public void setDocument(String s){ put(“Document”,s); } 我得到的例外是: SEVERE: Servlet.service() for servlet SW threw exception java.sql.SQLException: Io exception: Software caused connection abort: socket write error at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134) at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179) at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:334) at […]

Oracle上的Hibernate:将String属性映射到CLOB列

警告 :请参阅下面的答案。 问题是由10.2.0.4之外的类路径中存在的旧Oracle驱动程序引起的。 问题解决了。 留下这个问题的其余部分给后人。 我一直在抨击下面的事情。 这是从我的应用程序代码中提取的简单POJO: @Entity @Table(name = “PIGGIES”) public class Piggy { private Long id; private String description; public Piggy() {} @Id @GeneratedValue @Column(name = “PIGGY_ID”) public Long getId() { return id; } public void setId(Long id) { this.id = id; } @Lob @Column(name = “PIGGY_DESCRIPTION”) public String getDescription() { return description; […]