0

こんにちは、休止状態を使用してファイルからMysql DBにデータをロードしようとしています。

ここにクエリがあります、

session.createSQLQuery("LOAD DATA INFILE E:/uploaded/NumSerie/NS/NumSerie.txt INTO TABLE prod CHARACTER SET latin1 FIELDS TERMINATED BY ';' LINES TERMINATED BY '\n' IGNORE 1 LINES;").executeUpdate();

しかし、次のエラーが表示されます。

org.hibernate.QueryException: Space is not allowed after parameter prefix ':' [LOAD DATA INFILE E:/uploaded/NumSerie/NS/NumSerie.txt INTO TABLE prod CHARACTER SET latin1 FIELDS TERMINATED BY ';' LINES TERMINATED BY '
' IGNORE 1 LINES;]
at org.hibernate.engine.query.ParameterParser.parse(ParameterParser.java:92)
at org.hibernate.engine.query.ParamLocationRecognizer.parseLocations(ParamLocationRecognizer.java:75)

これが適切に実行されるように、このクエリを書き直すにはどうすればよいですか?

前もって感謝します!

4

1 に答える 1

4

パラメータ化されたクエリを作成してみてください

私はHibernateの第一人者ではありませんが、これはうまくいくかもしれません:

session.createSQLQuery("LOAD DATA INFILE :file INTO TABLE prod CHARACTER SET latin1 FIELDS TERMINATED BY ';' LINES TERMINATED BY '\n' IGNORE 1 LINES;")
    .setString("file", "E:/uploaded/NumSerie/NS/NumSerie.txt")
    .executeUpdate();
于 2012-04-27T13:24:57.357 に答える