Проблемы с импортом значений CSV в десятичное поле SQL ServerJAVA

Программисты JAVA общаются здесь
Anonymous
 Проблемы с импортом значений CSV в десятичное поле SQL Server

Сообщение Anonymous »

Я использую sqlserverbulkcopy для импорта файлов CSV в базу данных. Код: < /p>

Код: Выделить всё

private void bulkCopy(String tableName, String csvFileName) throws Exception {
Integer rowCount = 0;
Instant copyStart = Instant.now();

try {
Integer column = 0;
SQLServerBulkCopy copier = new SQLServerBulkCopy(dbConnection);
SQLServerBulkCSVFileRecord fileRecord = new SQLServerBulkCSVFileRecord(csvFileName, true);
Statement statement = dbConnection.createStatement();

// Set the metadata for the column to be copied, as well as mapping the columns.
for (String thisColumn : commonColumns) {
column += 1;
Integer index = tableData.columns.indexOf(thisColumn);
Integer size = tableData.sizes.get(index);
Integer type = getType(tableData.types.get(index));

fileRecord.addColumnMetadata(index + 1, thisColumn, type, size, 0);
copier.addColumnMapping(thisColumn, thisColumn);
}
// System.exit(0);

copier.setDestinationTableName(tableName);
copier.writeToServer(fileRecord);
rowCount = getRowCount(statement, tableName);
copier.close();
}
catch (SQLException e){
throw e;
}
Instant copyEnd = Instant.now();
Duration elapsed = Duration.between(copyStart, copyEnd);
logger.info("DEBUG: file is " + csvFileName);

logger.info("It took " + utils.formatDuration(elapsed) + " to write " + rowCount + " rows to the " + tableName + " table.");
}
Проблема заключается в десятичном (16,2) поле с 100 в файле CSV. Когда я пытаюсь запустить свой код, я получаю эту ошибку: < /p>

com.microsoft.sqlserver.jdbc.sqlserverexception: произошла ошибка при преобразовании «100 '' Значение для JDBC Тип данных Десятичный.>

Подробнее здесь: https://stackoverflow.com/questions/676 ... imal-field

Вернуться в «JAVA»