在LIMIT子句中获取错误的非负整数值

时间:2019-07-13 23:47:28

标签: java sql exasolution

我想从exasol中获取数据,但是仅当我在查询中使用limit子句时才遇到此问题。

如果我对查询中的极限值进行硬编码,并且不使用准备好的语句,那么它将正常工作。但是当我尝试在准备好的语句中为limit子句设置int时,它给了我异常

public static final String FROM_DWB_DATA = "SELECT *  FROM DWB_DATA a \n"
    + "INNER JOIN DWB_CONN b \n"
    + "ON a.SOURCE_ID=b.ID\n"
    + "WHERE b.PROJECT_ID=? ORDER BY a.TABLE_NAME LIMIT ? , ?";


    //and in Prepared statement i am setting these values
    PreparedStatement ps = getSQLConnection(projectId, conid)
        .prepareStatement(FROM_DWB_DATA_TABLE);

    ps.setString(1, projectId);
    ps.setInt(2, 0);
    ps.setInt(3, 2);
  

java.sql.SQLException:在LIMIT子句中期望的非负整数值

1 个答案:

答案 0 :(得分:0)

我想,它会以加引号的形式添加您的值:LIMIT '0', '2'

尝试正常构建查询字符串并将其作为简单的未准备查询运行。