WSO2 流处理器 SQL 服务器连接

WSO2 Stream Processor SQL Server connection

我是 WSO2 SP 的新手,正在尝试使用教程 here 从 SQL 服务器数据库读取数据。但不幸的是,我无法连接到 SQL 服务器数据库,无法进一步移动。

我已将最新的 JDBC driver 放在 lib 文件夹中。

@App:name('MyTestApp')

@source(type = 'http', @map(type = 'json'))
define stream RawMaterialStream(name string, username string, empid string);

@primaryKey('empid')
@index('name')
@store(type='rdbms', jdbc.url="jdbc:sqlserver://<servername>:1433;databaseName=ACL", username="<username>", password="<password>",jdbc.driver.name="com.microsoft.sqlserver.jdbc.SQLServerDriver")
define table EmpDetails(name string, username string, empid string);

from RawMaterialStream
select name, username, empid
update or insert into EmpDetails
on EmpDetails.name == name;

这些是执行期间收到的错误:

[2019-03-20_20-19-56_912] ERROR {com.zaxxer.hikari.util.PropertyElf} - Exception setting property driverClassName on target class com.zaxxer.hikari.HikariConfig

java.lang.reflect.InvocationTargetException

[2019-03-20_20-19-56_913] ERROR {org.wso2.siddhi.core.table.Table} - Error on 'MyTestApp'. java.lang.reflect.InvocationTargetException . Error while connecting to Table 'EmpDetails'. (Encoded)
java.lang.RuntimeException: java.lang.reflect.InvocationTargetException

有人可以help/advice吗?

似乎 MSSQL JDBC 驱动程序未 OSGi 化。由于驱动程序需要OSGi化才能被SP识别。

您可以在 /bin 中使用以下命令转换为 OSGi 包

./jartobundle.sh ../lib

详情请见下文doc