我想从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子句中期望的非负整数值
答案 0 :(得分:0)
我想,它会以加引号的形式添加您的值:LIMIT '0', '2'
。
尝试正常构建查询字符串并将其作为简单的未准备查询运行。