मैं एक जावा प्रोग्राम बनाने की कोशिश कर रहा हूं जो ओडीबीसी डेटासॉर एक्सेस करता है। निम्नलिखित कोड का उपयोग करना ...जावा ओडीबीसी परिणामों के साथ एक कनेक्शन बनाना java.sql.SQLException में: अमान्य कर्सर प्रकार अपवाद
Connection conn;
try {
Driver d = (Driver)Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();
DriverManager.registerDriver(d);
String URL = "jdbc:odbc:AR System ODBC Data Source";
conn = DriverManager.getConnection(URL);
} catch (SQLException | InstantiationException | IllegalAccessException | ClassNotFoundException e) {
Logger.error(this, e);
}
Statement s = null;
ResultSet rs = null;
try {
s = conn.createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY);
rs = s.executeQuery("select count(*) as rows from table");
if (rs.next()) {
System.out.print("Count of all rows is " + rs.getInt("rows"));
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
DBUtils.safelyClose(s, rs);
}
... मैं निम्नलिखित अपवाद प्राप्त करें:
java.sql.SQLException: The result set type is not supported.
at sun.jdbc.odbc.JdbcOdbcStatement.initialize(Unknown Source)
at sun.jdbc.odbc.JdbcOdbcConnection.createStatement(Unknown Source)
at sun.jdbc.odbc.JdbcOdbcConnection.createStatement(Unknown Source)
at com.csc.remedyarchiver.data.input.ODBCConnection.main(ODBCConnection.java:38)
मूल रूप से, जब मैं अपने दम पर यह समाधान करने का प्रयास किया गया था, मैं खाली तर्क createStatement उपयोग कर रहा था() कॉल करें लेकिन यह उपर्युक्त अपवाद का कारण बनता है (इसलिए मैंने TYPE_FORWARD_ONLY परिणाम सेट प्रकार का उपयोग किया लेकिन फिर भी वही परिणाम):
क्या कोई और चीज है जिसके साथ मैं कोशिश कर सकता हूं या इसे एक अलग दृष्टिकोण की आवश्यकता है?
समय बदलने पर जांचें। बताएं (rs.next()) { System.out.print ("सभी पंक्तियों की गणना" + rs.getInt ("पंक्तियां") है; } –
@PiumiWandana - यह अमान्य कर्सर प्रकार अपवाद के साथ काम नहीं करता है। – Ocracoke
'createStatement()' में 'ResultSet.CLOSE_CURSORS_OVER_COMMIT' पैरामीटर जोड़ने का प्रयास करें, यह देखने के लिए कि क्या यह –