我使用的是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