Выберите из базы данных SAP HANA через JDBC с параметрами - PullRequest
0 голосов
/ 30 сентября 2019

Я получил представление запроса к собственной базе данных SAP HANA, в которой я хочу выполнить оператор выбора.

Оператор выбора отправляется сторонним BI-инструментом, который используетДрайвер SAP HANA-JDBC (ngdbc.jar) для доступа к базе данных HANA.

В запросе ожидаются два входных параметра: PARAMETER_A и PARAMETER_B

В собственной базе данных HANAсинтаксис будет выглядеть следующим образом (SAP HANA studio):

select *
from "_SYS_BIC"."QUERY_VIEW" ('PLACEHOLDER' = ('$$PARAMETER_A$$', 'value_1'), 'PLACEHOLDER' = ('$$PARAMETER_B$$', 'value_2'))

Когда я пытаюсь выполнить этот запрос через jdbc, я получаю ошибку synatx, что знак '=' не разрешен.

Кто-нибудь может сказать мне правильный синтаксис в случае jdbc?

Заранее спасибо

1 Ответ

0 голосов
/ 24 октября 2019

Как сказал Ларс, HANA использует тот же драйвер JDBC, что и сторонние инструменты, просто версия может отличаться. Чтобы проверить, как выглядит вызов JDBC, вы можете включить журнал трассировки в HANA studio, см. здесь

В вашем журнале вы увидите что-то вроде:

com.sap.db.jdbc.HanaConnectionFinalize@37c52b05[ID:316971].prepareCall("SELECT top 10 ""VAR_SUM""
FROM ""_SYS_BIC"".""CV_TEST""('PLACEHOLDER' = ('$$IP_VAP_1$$', '5'), 'PLACEHOLDER' = ('$$IP_VAR_2$$', '3'))", 1003, 1007)

, поэтому вы должны настроить трассировку для своего BI-инструмента и проверить разницу между тем, как он выполняет оператор SELECT и HANA studio. Надеюсь, это поможет))

...