Ich versuche, csv in meine MySQL-Datenbank mit jOOQ zu laden, wie immer ich erhalte folgende error.I versucht, verschiedene Lösungen auf Netz vorgeschlagen, aber kann nicht fix itFalsche String-Wert - jOOQ - Java
Error: org.jooq.exception.DataAccessException: SQL [insert into `Test`.`testtable` <mydata> Incorrect string value: '\xEF\xBF\xBD15 ...' for column 'colum_Name' at row 1
Wie ich ist das Hochladen von csv
create.loadInto(Tables.TableName)
.onErrorIgnore()
.loadCSV(new File("/tmp/uploaded-files/" + fileName), "UTF-8").<fields>.execute();
ich stelle sicher, Datei in utf-8 ist jOOQ jedoch, wann immer UTF-8-Zeichen Rekord in DB versagt wird zu speichern und über error.I werfen gewährleistete
file -i <filename>
mit
Front ajax Ende:
$.ajax({
type: "POST",
enctype: 'multipart/form-data',
url: fileUploadUrl,
data: dataforFileUpload,
processData: false,
contentType: false,
cache: false,
timeout: 600000,
success: function (message) {
console.log(message);
alert(message);
console.log("upload done "+ new Date());
},
error: function (e) {
console.log("ERROR : ", e.responseText);
alert("ERROR : "+ e.responseText);
}
});
Ich erhalte Datei von meinem Frontend es über java ruhen
InputStream inputStream = listingFilePart.getBody(InputStream.class, null);
und Schreiben von Dateien rekursiv in lokalen System zu lesen, bevor
PrintWriter fop = new PrintWriter(new OutputStreamWriter(new FileOutputStream(file, true), StandardCharsets.UTF_8));
jOOQ vorbei
Ich setze meine DB, um utf-8 zu akzeptieren, und ich verifizierte das