Как обратиться к компоненту Camel SQL с именем параметра, где имя параметра в смешанном регистре и содержит пробелы? - PullRequest
0 голосов
/ 15 марта 2020

Я загружаю файл CSV в базу данных Postgresql, используя компонент Camel SQL. Имена заголовков исходного файла CSV (столбцы) смешаны с пробелами, например, «Себестоимость»

Компонент SQL относится к оператору вставки SQL в файле свойств, например, insert into upload_data(year,month,cost)values(:#year,:#month,:#Cost Price)

Я получаю эту ошибку: Причина: [org.springframework.jdb c .BadSqlGrammarException - PreparedStatementCallback; плохая SQL грамматика []; вложенное исключение: org. postgresql .util.PSQLException: ОШИБКА: синтаксическая ошибка в или около ":" в позиции ...

-позиция относится к: before #Cost Price

Если я изменяю имя параметра на cost_price и изменяю файл CSV, файл загружается корректно без ошибок.

Я попытался окружить параметр "" \ "и {} в операторе вставки

Можно ли использовать смешанный регистр с пробелами в именованных параметрах, используя escape-коды или что-то еще, или мне нужно вмешаться и изменить заголовок CSV?

1 Ответ

1 голос
/ 15 марта 2020

Компонент SQL не поддерживает это, на самом деле это очень плохой дизайн - использовать пробелы в именах заголовков. Поэтому после прочтения файла CSV вы можете изменить имя заголовка перед вызовом компонента SQL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...