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

Sql 通过带参数的JDBC从SAP HANA数据库中选择,sql,jdbc,sap,hana,Sql,Jdbc,Sap,Hana,我在本机SAP HANA数据库上获得了一个查询视图,我想在该数据库上执行select语句 select语句由第三方BI工具发送,该工具使用SAP HANA JDBC驱动程序(ngdbc.jar)执行对HANA数据库的访问 查询需要两个输入参数:参数A和参数B 在本机HANA数据库上,语法如下所示(SAP HANA studio): 当我试图通过jdbc执行此查询时,我得到了一个synatx错误,即不允许使用“=”符号 有人能告诉我jdbc的正确语法吗 提前感谢正如Lars所说,HANA使用与第三

我在本机SAP HANA数据库上获得了一个查询视图,我想在该数据库上执行select语句

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

查询需要两个输入参数:参数A和参数B

在本机HANA数据库上,语法如下所示(SAP HANA studio):

当我试图通过jdbc执行此查询时,我得到了一个synatx错误,即不允许使用“=”符号

有人能告诉我jdbc的正确语法吗


提前感谢

正如Lars所说,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的执行方式之间的差异。
(希望有帮助)

您可以发布您的JAVA代码,让我们看看您如何构造发送给HANA的SQL字符串吗?您好,Lars,没有JAVA代码。我们使用第三方BI工具。此工具允许使用JDBC驱动程序(ngdbc.jar)从SAP HANA数据源导入。因此,我们可以将select SQL语句发布到BI工具的导入向导中,并选择应该用于访问数据源的驱动程序。我尝试了select语句,该语句在我的第一篇帖子中显示,在“SAP HANA Studio”中运行良好。但是,当我在BI工具(使用JDBC访问HANA数据库)中使用此语句时,它显示了一个语法错误,表明不允许使用“=”。因此,我怀疑JDBC驱动程序需要不同的参数规范?!我不能证实你的怀疑。SAP HANA Studio实际上使用的JDBC驱动程序与您可以从客户端软件包下载和安装的JDBC驱动程序相同。在我看来,a)您的BI工具尝试评估SQL语法本身,但失败,因为
占位符…
语法非常特定于HANA,或者b)BI工具在将SQL字符串发送到HANA之前没有正确引用SQL字符串。顺便问一句:您在这里使用哪种第三方BI工具?
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)