Имена таблиц Java SQL со специальными символами

0

У меня есть код, который создает таблицы на лету. Эти таблицы используются для хранения и получения данных для разных процессов.

Проблема: имена таблиц создаются специальными символами типа "&" и другими. MySQL Позволяет имена таблиц со специальными символами. Не проблема с MySQL.

Когда я использую DBUtils для запроса данных из такой таблицы, я получаю исключение в специальном символе. Если бы я использовал обычный jdbc, то я мог бы избежать этих и мог обрабатывать данные. Но DButils не позволяет избежать таких символов.

Я попытался добавить двойные кавычки в имя таблицы и попытался обработать, однако проблема все еще существует. Любой совет??

java.sql.SQLException: You have an error in your SQL syntax; 
check the manual that corresponds to your MySQL server version for the right 
syntax to use near '-AO_I   ( Datetime,  L, ' at line 1 
    at org.apache.commons.dbutils.AbstractQueryRunner.rethrow(AbstractQueryRunner.java:392)
    at org.apache.commons.dbutils.QueryRunner.update(QueryRunner.java:491)
    at org.apache.commons.dbutils.QueryRunner.update(QueryRunner.java:404)

Удаление всех имен столбцов и подробного имени таблицы. Имя таблицы - "NRI-AO_I". Код добавляет данные к сотням таблиц, но неудачно. эти имена таблиц имеют специальный символ в имени таблицы. Таблицы с именами "&" или "-" не совпадают.

  • 0
    Можете ли вы предоставить нам код или пример, где вы получаете ошибку? Какое исключение вы получаете?
  • 0
    Итак, ваша проблема связана с запросами с помощью «DBUtils»? Вы имеете в виду Apache Commons DBUtils или что-то еще?
Показать ещё 2 комментария
Теги:
apache-commons-dbutils

1 ответ

1
Лучший ответ

Плохая идея использовать специальные символы в именах таблиц, но если у вас нет других альтернатив, укажите свои двусмысленные или "специальные" имена таблиц с типом обратной связи. например:

select * from 'NRI-AO_I'

Ещё вопросы

Сообщество Overcoder
Наверх
Меню