0

我对 WSO2 SP 很陌生,并尝试使用此处的教程从 SQL Server DB 读取数据。但不幸的是,我无法连接到 SQL Server 数据库以进一步移动。

我已将最新的JDBC 驱动程序放在 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] 错误 {com.zaxxer.hikari.util.PropertyElf} - 目标类 com.zaxxer.hikari.HikariConfig 上的异常设置属性 driverClassName

java.lang.reflect.InvocationTargetException

[2019-03-20_20-19-56_913] 错误 {org.wso2.siddhi.core.table.Table} -“MyTestApp”错误。java.lang.reflect.InvocationTargetException 。连接到表“EmpDetails”时出错。(编码)
java.lang.RuntimeException:java.lang.reflect.InvocationTargetException

任何人都可以请帮助/建议吗?

4

1 回答 1

1

似乎 MSSQL JDBC 驱动程序不是 OSGified。因为驱动程序需要 OSGified 才能被 SP 识别。

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

./jartobundle.sh ../lib

有关详细信息,请参阅以下文档。

于 2019-03-22T07:28:56.713 回答