Верблюд SQL Формат синтаксиса хранимой процедуры - PullRequest
0 голосов
/ 12 февраля 2020

Я новичок в Camel SQL Хранимый компонент. Я использую верблюд - sql -2.24.2 версия. Я пытаюсь создать кадр следующим образом:

.to("sql-stored:SAMPLE_PROCEDURE(OUT VARCHAR id1,OUT VARCHAR id2,INOUT VARCHAR {header.id3} id3,VARCHAR ${header.id4},VARCHAR ${header.id5})?dataSource=#dataSource")

Я использую все параметры IN, OUT и INOUT. При вышеуказанном вызове возвращается следующая ошибка:

CamelExceptionCaught= org.apache.camel.component.sql.stored.template.ast.ParseRuntimeException: org.apache.camel.component.sql.stored.template.generated.ParseException: Encountered " " " "  "" at line 1, column 85.Was expecting one of: {<SIMPLE_EXP_TOKEN>  <PARAMETER_POS_TOKEN>   <PARAMETER_NAME> }

Согласно документации Camel, я считаю, что синтаксис правильный. Но я не совсем уверен, где мне не хватает.

Какой правильный синтаксис?

1 Ответ

0 голосов
/ 17 февраля 2020

Спасибо за ваш ответ.

Я пробовал следующие случаи,

.to("sql-stored:SAMPLE_PROCEDURE(OUT VARCHAR id1,OUT VARCHAR id2,INOUT VARCHAR {header.id3} id3)?dataSource=#dataSource")

Это приводит к следующей ошибке:

CamelExceptionCaught=org.apache.camel.component.sql.stored.template.ast.ParseRuntimeException: org.apache.camel.component.sql.stored.template.generated.ParseException: Encountered " <IDENTIFIER> "id3 "" at line 1, column 98.Was expecting one of:  <SIMPLE_EXP_TOKEN> <PARAMETER_POS_TOKEN>}

.to("sql-stored:SAMPLE_PROCEDURE(OUT VARCHAR id1,OUT VARCHAR id2,INOUT VARCHAR {header.id3} id3,VARCHAR '56',VARCHAR 'Test')?dataSource=#dataSource")

CamelExceptionCaught=org.apache.camel.component.sql.stored.template.ast.ParseRuntimeException: org.apache.camel.component.sql.stored.template.generated.ParseException: Encountered " " " "  "" at line 1, column 94.

Ожидал из:

Я не уверен, что приведенный выше синтаксис правильный. Я возвращаю вышеупомянутую ошибку для INOUT Param. Даже без параметра INOUT, заданного только с параметрами OUT и IN, я получаю следующую ошибку:

.to("sql-stored:SAMPLE_PROCEDURE(OUT VARCHAR id1,OUT VARCHAR id2,VARCHAR '56',VARCHAR 'Test')?dataSource=#dataSource")

Ошибка:

CamelExceptionCaught=org.apache.camel.component.sql.stored.template.ast.ParseRuntimeException: org.apache.camel.component.sql.stored.template.generated.ParseException: Encountered " <SEPARATOR> ", "" at line 1, column 92.

Ожидалось: "" ... }

Я не понимаю, как сформировать описанную выше простую хранимую процедуру.

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