0

我使用连接查询来要求来自 tdengine 的数据。连接查询是这样的。

select  signal1_0.ts ,signal1_0.c0,signal1_0.c1,signal1_0.c3,signal2_9.c4,signal2_9.c5,signal2_9.c6 from signal1_0,signal2_9 where signal1_0.ts = signal2_9.ts;

我通过 tdengine 的 taos-jdbc 连接器执行了这个 sql,错误跟踪如下:

java.sql.SQLException: JNI ERROR (2355): JNI result set is NULL
    at com.taosdata.jdbc.TSDBError.createSQLException(TSDBError.java:72)
    at com.taosdata.jdbc.TSDBError.createSQLException(TSDBError.java:56)
    at com.taosdata.jdbc.TSDBResultSet.next(TSDBResultSet.java:93)
    at com.taosdata.example.JDBCDemo.printResult(JDBCDemo.java:116)
    at com.taosdata.example.JDBCDemo.executeQuery(JDBCDemo.java:106)
    at com.taosdata.example.JDBCDemo.select(JDBCDemo.java:84)
    at com.taosdata.example.JDBCDemo.main(JDBCDemo.java:27)

这有点奇怪,我可以通过如下查询遍历结果集返回。

select  count(*) from signal1_0,signal2_9 where signal1_0.ts = signal2_9.ts;

这些是非常相似的sql,所以试图找出问题所在。我阅读了 taos-client 的日志文件,这是我在 taos-cleint 日志中发现的错误在此处输入图像描述

这个错误是由结果集的大小引起的吗?因为连接 sql 将返回 300 万行,如果我使用带有 'limit' 的相同查询,遍历就可以了。我想问一下我的假设是否正确以及如何避免这个问题?

4

0 回答 0