Created on 07-24-2015 05:51 AM - edited 09-16-2022 02:35 AM
" java.sql.SQLFeatureNotSupportedException: [Simba][JDBC](10220) Driver not capable. "
The above exception is giving when I'm executing my JEE webapplication with Hive 0.13 in Eclipse (Kepler).
Due to below line:
pstmt = con.prepareStatement(query, ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
NOTE:
- The application is executing properly with query parameter of the above method.
- But, This exception is coming just because of last 2 parameters of above method, nothing but ResultSet types.
I Followed Configurations:
- Cloudera Hive JDBC Driver class: com.cloudera.hive.jdbc4.HS2Driver
- Connection URL: jdbc:hive2://192.168.1.135:10000/yottadb6
- Cloudera Software: cloudera-quickstart-vm-5.3.0-0-vmware
- Hive v0.13
- Cloudera Hive Jdbc drivers 2.5.3
- Apache Tomcat 7.0
- JDK 1.7
Q: Can any body resolve the above problem as early as possible?
Created on 07-24-2015 07:51 AM - edited 07-25-2015 09:29 PM
Hey guys, I found one thing. Sorry to say this:
i.e., Cloudera Hive & Cloudera Impala both just will support "forward-only and read-only ResultSet". Because both of these environments won't support Transactions.
Created on 07-24-2015 07:51 AM - edited 07-25-2015 09:29 PM
Hey guys, I found one thing. Sorry to say this:
i.e., Cloudera Hive & Cloudera Impala both just will support "forward-only and read-only ResultSet". Because both of these environments won't support Transactions.
Created on 03-11-2018 11:53 PM - edited 03-11-2018 11:56 PM
I tried to use only the "forward-only and read-only ResultSet". Still getting the same error . This is what I have tried:-
@GET
@Produces(MediaType.APPLICATION_JSON)
public String list() throws SQLException, ClassNotFoundException {
List<Biler> bilers = new ArrayList<Biler>();
final String DRIVER_CLASS = "com.cloudera.impala.jdbc4.Driver";
final String CONNECTION_URL = "jdbc:impala://SERVER_ADDRESS:21050;AuthMech=0;";
Class.forName(DRIVER_CLASS);
Biler biler = null;
Connection connection = DriverManager.getConnection(CONNECTION_URL);
// Statement stmt = connection.createStatement();
stmt = connection.createStatement( ResultSet.CONCUR_READ_ONLY,
ResultSet.TYPE_FORWARD_ONLY);
ResultSet rs =stmt.executeQuery(" select senderid ,procdate ,count(*) as count1 from smsc.smsc_data_par group by senderid , procdate");
try{
while (rs.next()) {
biler = new Biler();
biler.setId(rs.getString("senderid"));
biler.setName(rs.getString("procdate"));
biler.setValue(rs.getString("count1"));
bilers.add(biler);
}
}finally{
if (rs != null){
try{
rs.close();
}catch(SQLException e){}
}
if(connection !=null){
try{
connection.close();
}catch(SQLException e){}
}
if(stmt != null){
try{
stmt.close();
}catch(SQLException e ){}
}
}
Gson gson = new Gson();
return gson.toJson(bilers);
}
}
Created 03-12-2018 06:25 AM
After upating result set still getting the same error.
java.sql.SQLFeatureNotSupportedException: [Simba][JDBC](10220) Driver not capable.
public String list() throws SQLException, ClassNotFoundException {
List<Biler> bilers = new ArrayList<Biler>();
final String DRIVER_CLASS = "com.cloudera.impala.jdbc4.Driver";
final String CONNECTION_URL = "jdbc:impala://host_name:21050;AuthMech=0;";
Class.forName(DRIVER_CLASS);
Biler biler = null;
Connection connection = DriverManager.getConnection(CONNECTION_URL);
Statement stmt = connection.createStatement( ResultSet.TYPE_FORWARD_ONLY,
ResultSet.CONCUR_READ_ONLY);
ResultSet rs =stmt.executeQuery("select senderid ,procdate ,count(*) as"
+ " count1 from smsc.smsc_data_par group by senderid , procdate");
try{
while (rs.next()) {
biler = new Biler();
biler.setId(rs.getString("senderid"));
biler.setName(rs.getString("procdate"));
biler.setValue(rs.getString("count1"));
bilers.add(biler);
}
}finally{
if (rs != null){
try{
rs.close();
}catch(SQLException e){}
}
if(connection !=null){
try{
connection.close();
}catch(SQLException e){}
}
if(stmt != null){
try{
stmt.close();
}catch(SQLException e ){}
}
}
Gson gson = new Gson();
return gson.toJson(bilers);
}
}Any suggestion how to resolve this issue ?