我正在尝试将行解析为控制文件中的列。
我得到“数据文件中的字段超过最大长度”
我的控制文件:
Movie{
@ManyToMany(mappedBy = "movies", cascade={CascadeType.ALL})
private Set<User> users;
public Set<User> getUsers() {
return users;
}
}
User {
@ManyToMany
@JoinTable(name = "user_movie",
joinColumns = @JoinColumn(name = "user_id", referencedColumnName = "id"),
inverseJoinColumns = @JoinColumn(name = "movie_id", referencedColumnName = "id")
)
private Set<Movie> movies;
}
表:
OPTIONS (
ERRORS = 1,
DIRECT=TRUE,
LOAD=10
)
load data
APPEND
into table table_1
fields terminated by "#x000A"
(
Column0 BOUNDFILLER,
Column1 "SUBSTR(:Column0, 1, 10)"
)
看起来它发生了,因为每行的长度超过2000但是我检查了文件并且它少于1000。
为什么我会收到此错误?
答案 0 :(得分:2)
错误在这里。 Column0 BOUNDFILLER,
此行等于Column0 BOUNDFILLER char(255),
。
char(255)
是默认值。
你试图将1000放入变量,空间仅为255
解决方案是Column0 BOUNDFILLER char(2000) ,