Athena JDBC 参数化查询未正确解释类型

问题描述 投票:0回答:0

出现此错误 - java.sql.SQLException: [Simba]AthenaJDBC Athena 不支持参数类型:java.lang.String.

我正在使用 com.simba.athena.jdbc.Driver 作为 Athena JDBC 驱动程序。

Time startTime = new Time()
String sql = "SELECT AccountId FROM Accounts WHERE Create_Time = ?";
PreparedStatement ps = connection.prepareStatement(sql);
ps.setObject(1, startTime);
ResultSet rs = ps.executeQuery();

上面的代码给出了那个错误。即使使用 setTime() 而不是 setObject(),我也会收到错误消息。这几乎就像将它解释为 String 一样。关于如何纠正这个问题的任何想法?

我也尝试将查询更改为

String sql = "SELECT AccountId FROM Accounts WHERE Create_Time = cast(?, timestamp)";

但仍然出现同样的错误 - java.sql.SQLException: [Simba]AthenaJDBC Athena does not support the parameter type: java.lang.String.

有什么想法吗?

jdbc prepared-statement amazon-athena
© www.soinside.com 2019 - 2024. All rights reserved.