[英]WSO2 API Manager BAM SQL Server
我们正在尝试使用SQL Server数据库设置WSO2 API管理器和WSO2 BAM。 尝试在API Store中查看BAM仪表板时,出现以下错误:
错误用法:jag org.wso2.carbon.apimgt.api.APIManagementException:为ProviderAPIUsage调用APIUsageStatisticsClient时出错-由以下原因引起:com.microsoft.sqlserver.jdbc.SQLServerException:关键字“ WHERE”附近的语法不正确。
跟踪数据库后,我们发现了以下导致错误的查询:
SELECT CONSUMER_KEY,NAME
FROM AM_APPLICATION_KEY_MAPPING
NATURAL JOIN AM_APPLICATION
NATURAL JOIN AM_SUBSCRIBER WHERE USER_ID = 'admin'
由于SQL Server不支持NATURAL JOIN
,是否有任何方法可以使API Manager和BAM与SQL Server一起使用?
如果将查询传递给MS SQL Server,则需要使用T-SQL重新编写此查询,就像这样.....
SELECT [TableName].CONSUMER_KEY
,[TableName].NAME
FROM AM_APPLICATION_KEY_MAPPING
INNER JOIN AM_APPLICATION
ON AM_APPLICATION_KEY_MAPPING.CommonColumn = AM_APPLICATION.CommonColumn
INNER JOIN AM_SUBSCRIBER
ON [One of the Previous Tables].CommonColumn = AM_SUBSCRIBER.CommonColumn
WHERE [TableName].[USER_ID] = 'admin'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.