SnappyData v.0-5 と ClientDriver JDBC ドライバー。
SnappyData に、sensor_data という名前の永続的な行テーブルがあります。
snappy> シェルから、このクエリは数千行を返します。
snappy> select * from sensor_data where year_num = 2013 and month_num = 1;
SpringBoot で JDBC 接続から実行すると、次のエラーが発生します。
PreparedStatementCallback; uncategorized SQLException for SQL [select * from sensor_data where year_num = ? および month_num = ?]; SQL 状態 [XCL14]; エラーコード [20000]; (SQLState=XCL14 Severity=20000) 列位置 '1' が範囲外です。この ResultSet の列数は「0」です。
Java コードは次のとおりです。
List<SensorData> list = jdbcTemplateBean.query("select * from sensor_data where year_num = ? and month_num = ?",
new Object[] {year, month}, new SensorDataRowMapper());
この JDBC の問題を解決するにはどうすればよいですか?
Spring ブートのトリミングされたスタック トレース:
org.springframework.jdbc.UncategorizedSQLException: PreparedStatementCallback; uncategorized SQLException for SQL [select * from sensor_data where year_num = ? および month_num = ?]; SQL 状態 [XCL14]; エラーコード [20000]; (SQLState=XCL14 Severity=20000) 列位置 '1' が範囲外です。この ResultSet の列数は '0' です。; ネストされた例外は java.sql.SQLException: (SQLState=XCL14 Severity=20000) 列の位置 '1' が範囲外です。この ResultSet の列数は「0」です。org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:84) で org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:81) で org.springframework. (SQLState=XCL14 Severity=20000) 列位置 '1' が範囲外です。この ResultSet の列数は「0」です。... 原因: エラー XCL14: 列位置 '1' が範囲外です。この ResultSet の列数は「0」です。com.pivotal.gemfirexd.internal.client.am.ColumnMetaData.checkForValidColumnIndex(ColumnMetaData.java:856) で com.pivotal.gemfirexd.internal.client.am.ColumnMetaData.getColumnType(ColumnMetaData.java:638) ... 72もっと