TDengine的java原生接口TSDBDriver连接错误
Posted
技术标签:
【中文标题】TDengine的java原生接口TSDBDriver连接错误【英文标题】:TDengine's java native interface TSDBDriver connection error 【发布时间】:2021-11-22 03:23:08 【问题描述】:我尝试将 TDengine 导入 Spring Boot 项目。有两个 taos.jdbc 连接器可供选择,RESTfulDriver 和 TSDBDriver。
我选择导入Java原生接口TSDBDriver来连接TDengine。不幸的是,Spring Boot 成功导入了依赖项但显示连接失败。我想知道是因为配置问题还是TSDBDriver与mac不兼容。这是我的依赖项和错误:
datasource:
td-engine:
driver-class-name: com.taosdata.jdbc.TSDBDriver
url: jdbc:TAOS://###
username: ###
password: ###
java.lang.UnsatisfiedLinkError: no taos in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1860)
at java.lang.Runtime.loadLibrary0(Runtime.java:871)
at java.lang.System.loadLibrary(System.java:1124)
at com.taosdata.jdbc.TSDBJNIConnector.<clinit>(TSDBJNIConnector.java:25)
at com.taosdata.jdbc.TSDBDriver.connect(TSDBDriver.java:119)
at com.alibaba.druid.filter.FilterChainImpl.connection_connect(FilterChainImpl.java:156)
at com.alibaba.druid.filter.stat.StatFilter.connection_connect(StatFilter.java:218)
at com.alibaba.druid.filter.FilterChainImpl.connection_connect(FilterChainImpl.java:150)
at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1598)
at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1662)
at com.alibaba.druid.pool.DruidDataSource$CreateConnectionThread.run(DruidDataSource.java:2697)
【问题讨论】:
【参考方案1】:这意味着您需要将 libtaos.so 添加到您的 java.library.path 中。将此选项添加到您的 java 命令中:
-Djava.library.path=/path/to/<dir_of_libtaos.so>
如果你在本地安装了 TDEngine,它在 /usr/lib 中有 libtaos.so。否则,您可以在其源代码包中找到它的 libtaos.so.2.0.22.0。您需要将 libtaos.so 符号链接到 libtaos.so.2.0.22.0,因为 jvm 仅识别 java.library.path 中的 *.so。例如:
ln -s lib/libtaos.so.2.0.22.0 lib/libtaos.so
【讨论】:
以上是关于TDengine的java原生接口TSDBDriver连接错误的主要内容,如果未能解决你的问题,请参考以下文章