मेरे पास जेडीबीसी कोड है जो एक तैयार तालिका निष्पादित करके डेटाबेस तालिका में प्रवेश करता है। जब मैं एक इन-मेमोरी एचएसक्यूएलडीबी डेटाबेस (एक जुनीट टेस्ट के हिस्से के रूप में) पर कोड चलाता हूं तो मुझे एक SQLFeatureNotSupportedException मिलता है जिसमें केवल "सूचना समर्थित नहीं है" और विक्रेता कोड -1500 संदेश होता है। मैं जो कर रहा हूं वह एक तालिका में एक बुनियादी सम्मिलन है - मैं कल्पना नहीं कर सकता कि यह नवीनतम एचएसक्यूएलडीबी में असमर्थित है।एचएसक्यूएलडीबी क्रिप्टिक अपवाद संदेश: "सुविधा समर्थित नहीं है"
मेरे कोड:
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);
}
}
किसी को क्या समस्या या कुछ और मैं आगे की जांच करना चाहिए हो सकता है सुझाव है कि कर सकते हैं? आपकी सहायता के लिये पहले से ही धन्यवाद।
--James
प्रयास करें: अपवाद का लॉग, अपने HSQLDB के संस्करण (2.0 शायद), अपने जावा संस्करण, आदि मैं में खोज रहा हूँ आपकी मदद करने के लिए आदेश। मुझे लगता है कि यह jre और your hsqldb के बीच संगतता की समस्या है। – Aito
बहुत बहुत धन्यवाद, एटो। मैं एचएसक्यूएलडीबी 2.0 जेएआर फ़ाइल का उपयोग कर रहा हूं। मैं जुनीट 4 टेस्ट के हिस्से के रूप में कोड चला रहा हूं। मैं इसे एक्लिज़ आईडीई से लॉन्च करता हूं जो 1.6 जेआरई का उपयोग कर रहा है। डेटासोर्स स्प्रिंग का उपयोग करके कॉन्फ़िगर किया गया है और मुझे एक स्प्रिंग जेडीबीसी टेम्पलेट से कनेक्शन मिल रहा है जिसे मैंने डीएओ कक्षा में कॉन्फ़िगर किया है जिसमें यह कोड है। –