Bir PreparedStatement çalıştırılarak bir veritabanı tablosuna eklenen JDBC kodum var. Bir bellek içi HSQLDB veritabanındaki kodu (JUnit sınamasının bir parçası olarak) çalıştırdığımda, "özellik desteklenmiyor" iletisi ve satıcı kodu -1500 olan tek bir bilgiyle SQLFeatureNotSupportedException alıyorum. Ne yapıyorum bir tabloya temel bir ekleme - Bu en son HSQLDB desteklenmez olduğunu düşünemiyorum.HSQLDB şifreli özel durum iletisi: "özellik desteklenmiyor"
Kodum:
public Observations saveOrUpdate(final Observations observations)
{
try
{
if (connection == null)
{
connection = getJdbcTemplate().getDataSource().getConnection();
}
// create the prepared statement
String sql = "INSERT INTO " + Observations.TABLE_NAME +
" (OBS_YEAR, WINTER, SPRING, SUMMER, FALL, ANNUAL, DATA_TYPE, CREATED_DATE, UPDATED_DATE, " +
Observations.ID_COLUMN_NAME +
") VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
PreparedStatement preparedStatement = connection.prepareStatement(sql);
preparedStatement.setInt(1, observations.getYear());
preparedStatement.setBigDecimal(2, observations.getJan());
preparedStatement.setBigDecimal(3, observations.getFeb());
preparedStatement.setBigDecimal(4, observations.getMar());
preparedStatement.setBigDecimal(5, observations.getApr());
preparedStatement.setBigDecimal(6, observations.getMay());
preparedStatement.setString(7, observations.getDataType().toString());
preparedStatement.setTimestamp(8, new Timestamp(observations.getCreatedDate().getTime()));
preparedStatement.setTimestamp(9, new Timestamp(observations.getUpdatedDate().getTime()));
preparedStatement.setLong(10, observations.getId());
preparedStatement.executeUpdate(sql);
return observations;
}
catch (SQLException ex)
{
throw new RuntimeException(ex);
}
}
kimse daha ayrıntılı bir araştırma gerektiğini sorun veya başka bir şey ne olabilir önerebilirsiniz? Yardımlarınız için şimdiden teşekkür ederiz. HSQLDB ile
--James
Dene: istisna günlüğü, (belki 2.0) sizin HSQLDB sürümünü java versiyonu, vb Ben Arıyorum size yardımcı olmak için. Ben jre ve hsqldb arasındaki bir uyum sorunu olduğunu varsayalım. – Aito
Çok teşekkürler, Aito. HSQLDB 2.0 JAR dosyasını kullanıyorum. Kodu JUnit 4 testinin bir parçası olarak çalıştırıyorum. 1.6 JRE kullanan Eclise IDE'den başlatıyorum. DataSource, Spring kullanarak yapılandırıldı ve bu kodu içeren DAO sınıfına yapılandırdığım bir Spring JdbcTemplate bağlantısından bağlantı alıyorum. –