Итак, вот в чем проблема. Я очищаю некоторые данные с помощью java и в конечном итоге помещаю эту java в базу данных postgres. Когда я запускаю программу Java, я получаю ошибку ОШИБКА: отношение «имя таблицы» не существует, но когда я лично пишу тот же запрос в PGAdmin III, он работает нормально. Я погуглил, и у большинства людей проблемы не в заглавных буквах. Вот скриншот:
ОШИБКА: связь не существует
comment
Вероятно, вы создали имена таблиц в двойных кавычках, что делает их чувствительными к регистру: postgresql.org/docs/current/static/ Я настоятельно рекомендую воссоздать их без кавычек
- person a_horse_with_no_name   schedule 21.03.2016
comment
Да, это была проблема, большое вам спасибо !!!
- person DaX   schedule 21.03.2016
Ответы (1)
Моя первая мысль заключалась в том, что вы использовали двойные кавычки для значений, но потом я посмотрел еще раз и понял, что вы собираете запрос, используя конкатенацию строк.
НЕ ДЕЛАЙТЕ ЭТОГО. Помимо того, что эти проблемы невозможно отладить, вы можете использовать SQL-инъекцию.
При отладке чего-то вроде этого вы должны сначала перенести на использование синтаксиса заполнителя (который поддерживает драйвер JDBC PostgreSQL), а затем, если это не сработает, опубликовать журналы сервера.
person
Chris Travers
schedule
22.03.2016