Я получаю следующее предупреждение:
CWE-89: неправильная нейтрализация специальных элементов, используемых в исключении команды SQL («SQL-инъекция») в insertCount = aBatchPstmt.executeBatch ();Инъекции SQL можно предотвратить с помощью параметризованного запроса
Я считаю, что выполнил рекомендацию, но все еще вижу то же сообщение.Как мне это исправить?
int[] insertCount = null;
if (stmtLogList.size() > 0) {
Connection dbConnection = getDBConnection();
PreparedStatement aBatchPstmt = null;
try {
String anInsertQuery = "INSERT INTO " + getDBName() + ".dbo."
+ "statementGenerationlog (CountryCode,CIFNumber,FileName,ZipFilename,Status,BatchRunDate,logDesc,FileType) values (?,?,?,?,?,?,?,?)";
aBatchPstmt = dbConnection.prepareStatement(anInsertQuery);
for (StatementGenerationLogBean aLogDetails : stmtLogList) {
aBatchPstmt.setString(1, aLogDetails.getCountryCode());
aBatchPstmt.setString(2, aLogDetails.getCifNumber());
aBatchPstmt.setString(3, aLogDetails.getFileName());
aBatchPstmt.setString(4, aLogDetails.getZipFileName());
aBatchPstmt.setInt(5, aLogDetails.getStatus());
aBatchPstmt.setString(6, aLogDetails.getBatchRunDate());
aBatchPstmt.setString(7, aLogDetails.getLogDesc());
aBatchPstmt.setString(8, aLogDetails.getFileType());
aBatchPstmt.addBatch();
}
insertCount = aBatchPstmt.executeBatch();
} finally {
closeDB(dbConnection);
closePreparedStatement(aBatchPstmt);
}
}
return insertCount;
}