我使用的是SQL Server 2008和下面的罐子都在我的类路径:SQL Server 2008中,JDO(DataNucleus将3.0.7)和列的最大长度
datanucleus-api-jdo-3.0.6.jar
datanucleus-core-3.0.8.jar
datanucleus-enhancer-3.0.1.jar
datanucleus-rdbms-3.0.7.jar
我想开始说,一切正常。
我坚持成功一个对象,该对象具有应该包含ASCII文件内容的字符串字段。
当文件较大时我得到这个错误,而坚持:
javax.jdo.JDOFatalUserException:尝试储值“| 0 | 1.00 | 1.00 | 1.00 || EUR | 8010312090196 || ADVBANMMGM8 | BA MASTER MGM 8 | 0 | 1.00 | 1.00 | 1.00 || EUR “在”FILECONTENT“栏中,最大长度为256.请更正您的数据!
为了清楚起见,我在引号之间修剪了文件内容。
这是我package.jdo文件:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE jdo PUBLIC
"-//Sun Microsystems, Inc.//DTD Java Data Objects Metadata 2.0//EN"
"http://java.sun.com/dtd/jdo_2_0.dtd">
<jdo>
<package name="com.mypackage.mycompany.model">
<class name="FeedEvent" table="MY_UPLOADS" identity-type="application" >
<field name="id" persistence-modifier="persistent" primary- key="true" value-strategy="identity" />
<field name="fileName" persistence-modifier="persistent" />
<field name="fileSize" persistence-modifier="persistent" />
<field name="fileContent" persistence-modifier="persistent" />
<field name="uploaded" persistence-modifier="persistent" />
<field name="uploadDate" persistence-modifier="persistent" />
<field name="uploadFailureReason" persistence-modifier="persistent" />
<field name="eventDate" persistence-modifier="persistent" />
</class>
</package>
</jdo>
从Windows代码一切工作正常,我们可以将文件作为大存储为1MB,所以我想是没有关系的DB型。
这是我的POJO:
public class FeedEvent {
private Long id;
private String fileName;
private long fileSize;
private String fileContent;
private boolean uploaded;
private Date uploadDate;
private String uploadFailureReason;
private Date eventDate;
public FeedEvent() {
}
.......getters and setters here..............
}
场fileContent
是一个当与ASCII文件加载内容,让问题。 我试图将列类型切换为nvarchar(max)
,text
,varchar(max)
,但没有运气。
任何建议将不胜感激。
谢谢你的时间。
现在可以将长度属性添加到列标记内fileContent字段。 //谢谢 – 2012-02-14 09:57:08