通过带参数的JDBC从SAP HANA数据库中选择

时间:2019-09-30 09:59:56

标签: sql jdbc sap hana

我在要执行选择语句的SAP HANA本地数据库上获得了查询视图。

选择语句由第三方BI工具发送,该工具使用SAP HANA-JDBC驱动程序(ngdbc.jar)来执行对HANA数据库的访问。

查询需要两个输入参数:PARAMETER_A和PARAMETER_B

在本地HANA数据库上,语法如下所示(SAP HANA工作室):

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

当我尝试通过jdbc执行此查询时,出现了synatx错误,即不允许使用'='符号。

在使用jdbc的情况下,有人可以告诉我正确的语法吗?

预先感谢

1 个答案:

答案 0 :(得分:0)

正如Lars所说,HANA与第三方工具使用相同的JDBC驱动程序,只是版本可能不同。要检查JDBC调用的外观,可以在HANA studio中打开跟踪日志,请参见here

在您的日志中,您会看到类似以下内容的

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的方式之间的区别。 希望对您有所帮助))