Dataphin 通过SDK代码调用“服务”模块发布的“Dataphin数据源”查询逻辑表数据,返回数据为空
更新时间:
复制 MD 格式
问题描述
通过SDK代码调用“服务”模块发布的“Dataphin数据源”查询逻辑表数据,返回数据为空。但是直接拿SQL语句在Dataphin平台运行可以查询到数据。
Dataphin平台查询结果如下:

具体的代码如下:
public class DataphinDataSourceTest {
public static final String URL = "jdbc:dataphin://XXX/prod_dev_api";
public static final String USER = "XXX";
public static final String PASSWORD = "XXXX";
public static void main(String[] args) throws Exception {
//1.加载驱动程序
Class.forName("com.dataphin.jdbc.Driver");
//2. 获得数据库连接
Connection conn = DriverManager.getConnection(URL, USER, PASSWORD);
//3.操作数据库,实现增删改查
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("select * from ld_eyc.fct_engagement_unit_info_di where ds='20230129'"
);
//如果有数据,rs.next()返回true
while(rs.next()){
System.out.println("=========================有数据=============================");
System.out.println(rs.getString("unit"));
}
conn.close();
}
问题原因
SDK调用代码问题。该行代码 ResultSet rs = stmt.executeQuery("select * from ld_eyc.fct_engagement_unit_info_di where ds='20230129'"查询时候返回的rs已经调过rs.next了,再while(rs.next) 判断就取不到数据了。
解决方案
取消while(rs.next) 循环判断的时候问题解决。
适用于
- Dataphin
该文章对您有帮助吗?