#java #sql
#java #sql
Вопрос:
Ну, я хочу обновить SQL-запрос фрагментом кода Java, но это не работает. Я не знаю, правильно ли я это делаю.
Вот мой код :
String GICA_petrom_filter = "";
if (context.yoda_core_country.equals("ROU")) {
GICA_petrom_filter = "AND NASSAS NOT IN (SELECT MAG FROM'" context.link_GICA_PETROM_Schema "'.PETROM)";
}
Могу ли я использовать подготовленный оператор? не уверен, что это эффективно…
Ответ №1:
Прежде всего, вы не должны объединять подобные строки в SQL, это действительно плохая привычка, это должно вам помочь https://www.baeldung.com/sql-injection
Попробуйте использовать конструкторы запросов или методы, описанные в статье, приведенной выше
И тогда вам не хватает пробела после
И NASSAS НЕ ВКЛЮЧЕН (ВЫБЕРИТЕ MAG ИЗ ‘»
измените его на :
И NASSAS НЕ ВКЛЮЧЕН (ВЫБЕРИТЕ MAG ИЗ ‘»
Но, как я уже сказал, вы не должны объединяться для создания подобных запросов 😉 Также попробуйте опубликовать ошибки, которые вы получаете в журнале, когда вы задаете вопрос, это очень помогает решить ваши проблемы!
Комментарии:
1. Спасибо за вашу помощь, также для sql-инъекции я использую talend, поэтому я не собираюсь сталкиваться с такого рода проблемами.
2. Приятно знать! это решило вашу проблему? или это все еще не работает? Если это так, вы можете пометить это как «отвеченный», если лучших ответов нет