Srollable result sets in 8.1.6 Thin Driver?

I'm trying to create a scrollable result
set with the JDBC line
Statement stmt = connection.createStatement(
ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_READ_ONLY);
but I get back an Unsupported Feature error.
I thought most of the JDBC2 elements were
supported in the 8.1.6 JDBC Thin driver.
Here's environment:
client - WinNT4.0 (sp4)
jdk1.3beta
classes12.zip from the 8.1.6 jdbc
thin driver
database server - Solaris 2.6
Oracle 7.3.4
Any suggestions to get to scrollable
result sets?
Thanks in advance.
Dwight
server:

Scrollable result sets are not supported in the latest available drivers from Oracle or Sun. It will be available with the release of Oracle 8.1.6, so is the info.

Similar Messages

  • Problem with scrollable result set

    hi
    can u please tell me how i can get no of rows from a result set..
    i am using thin drivers and connecting to remote database,every thing is working fine if i use fwd only type ,but if u use sensitive type it is giving error
    code:
    stmt=con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
    i am geting error at this line
    error :
    java.lang.AbstractMethodError:oracle/jdbc/driver/oracleconnection.createStatement
    please help me

    does your jdk include jdbc 2.0? Is your driver updated to support jdbc 2.0 features? have you recently updated either(and forgot to change the classpath)?
    I am running jdk 1.3 and oracle thin(classes12.zip) have not had problems creating/using scrollable resultsets??
    Jamie

  • Gor The result set is closed after switch to latest microsoft JDBC driver

    The same code works fine with the previous version of the microsoft JDBC driver, but throws
    com.microsoft.sqlserver.jdbc.SQLServerException: The result set is closed.
    for the JDBC driver 4.
    Please Help!
    Thanks.

    I found the same exception when dealing with ResultSetMetaData.
    Using the old driver (1.2.2828.100) it was possible to do something like:
    Statement s = con.createStatement();
    ResultSet r = s.executeQuery("select * from <table>");
    ResultSetMetaData m = r.getMetaData();
    r.close();
    s.close();
    int numCols = m.getColumnCount();
    But using the new driver (2.0.1803.100) it complains that the result set is closed.
    The solution was to keep the ResultSet and Statement open until after the ResultSetMetaData is no longer needed. It is somewhat inconvenient because before it was possible to have a utility method that would return a ResultSetMetaData object and not have to worry about keeping the Statement and ResultSet objects around.
    I was hoping for a speed increase for batch inserts by having the latest driver, sadly there is no performance gain.

  • Oracle 8.1.6 Thin Driver with Multiple Result Sets

    We're using Oracle 8.1.6 on NT using the latest driver release.
    Java 1.2.2
    We're experiencing problems with resultSet.next when we have multiple result sets open. What appears to be happening when you've read the last result set entry do a .next() call which should result in a false value we actually get java.sql.SQLException: ORA-01002: fetch out of sequence.
    This seems to us that the driver is trying to go beyond the end of the result set.
    We've checked JDBC standards (and examples on this site) and the code we've got is compliant. We've also found that the code produces the correct results under Oracle 7.3.4 and 8.0.4.
    I can also say that there is no other activity on the db, so there are no issues such as roll back segments coming into play.
    Any solutions, help, advice etc would be gratefully appreciated!
    null

    Phil,
    By "multiple result sets open", do you mean you are using REF Cursors, or do you have multiple statements opened, each with its own ResultSet? If you could post an example showing what the problem is, that would be very helpful.
    You don't happen to have 'for update' clause in your SQL statement, do you?
    Thanks

  • SCROLL_SENSITIVE result set can't see the data inserted.

    hi all ,
    I am trying to display all the latest data available in the table through SCROLL_SENSITIVE and UPDATABLE result set after inserting a new record in the table.
    But the result set obtained after executing the query initially is not able to see the newly inserted record in the table and hence same result is getting printed out in both the cases.
    Can u explain me what's happening in this case ?? And how can i get the updated record also without executing the statement query twice to get the latest result set.
    My full code is given below.
    import java.sql.Connection;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    public class Misc3 {
    public static void main(String[] args) {
    Connection con = null;
    Statement stmt = null;
    ResultSet rs = null;
    try {
    int empid;
    String lname;
    String fname;
    int deptno;
    int mngrid;
    con = JDBCUtil.getOracleConnection();
    stmt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
    String query = "select employee_id , last_name , first_name , department_number , manager_id from employees ";
    rs = stmt.executeQuery(query);
    System.out.println("Before inserting the new record.....");
    while (rs.next()) {
    empid = rs.getInt(1);
    lname = rs.getString(2);
    fname = rs.getString(3);
    deptno = rs.getInt(4);
    mngrid = rs.getInt(5);
    System.out.println(empid + "\t" + lname + "\t" + fname + "\t" + deptno + "\t" + mngrid);
    System.out.println("Going to insert the new record.....");
    rs.moveToInsertRow();
    rs.updateInt(1, 10);
    rs.updateString(2, "Clark");
    rs.updateString(3, "John");
    rs.updateInt(4, 2);
    rs.updateInt(5, 2);
    rs.insertRow();
    System.out.println("New record inserted successfully.....");
    System.out.println("After inserting the new record.....");
    rs.beforeFirst();
    while (rs.next()) {
    empid = rs.getInt(1);
    lname = rs.getString(2);
    fname = rs.getString(3);
    deptno = rs.getInt(4);
    mngrid = rs.getInt(5);
    System.out.println(empid + "\t" + lname + "\t" + fname + "\t" + deptno + "\t" + mngrid);
    } catch (SQLException ex) {
    System.out.println("error code : " + ex.getErrorCode());
    System.out.println("error message : " + ex.getMessage());
    } finally {
    JDBCUtil.cleanUp(con, stmt);
    *** JDBCUtil Class ****
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.Statement;
    public class JDBCUtil {
    public static Connection getOracleConnection(){
    Connection con = null;
    try{
    // Load the driver
    Class.forName("oracle.jdbc.driver.OracleDriver");
    //Establish Connection
    con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:XE","ex","ex");
    }catch(Exception ex){
    ex.printStackTrace();
    return con;
    public static void cleanUp (Connection con , Statement stmt){
    // Release the resource
    try{
    if(con != null){
    con.close();
    if(stmt != null){
    stmt.close();
    }catch(Exception ex){
    ex.printStackTrace();
    Edited by: user12848632 on Aug 13, 2012 2:06 PM

    >
    Can u explain me what's happening in this case ?? And how can i get the updated record also without executing the statement query twice to get the latest result set.
    >
    Sure - but you could have answered your own question if you had read the doc link I gave you in your other thread and next time you post code use \ tags on the lines before and after the code - see the FAQ for info
    17076 : Invalid operation for read only resultset
    {quote}
    •Internal INSERT operations are never visible, regardless of the result set type.
    {quote}
    See •Seeing Database Changes Made Internally and Externally in the JDBC Dev doc I pointed you to
    http://docs.oracle.com/cd/B28359_01/java.111/b31224/resltset.htm#i1024720
    Did you notice the words 'never visible'? You won't see them as part of the result set unless you requery.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

  • Access result set in user define type of table

    here is the situation. I have a stored procedure that dequeues messages of a AQ and passes them as an OUT parameter in a collection of a user defined type. The same type used to define the queues. The java code executes properly but seems like we don't/can't access the result set. We don't receive any erros but don't know how to access the results. I've included relevant parts of the problem.
    I know this should be doable but........Can someone please tell us what we are doing wrong....thanks in advance.
    -----create object type
    create type evt_ot as object(
    table_name varchar(40),
    table_data varchar(4000));
    ---create table of object types.
    create type msg_evt_table is table of evt_ot;
    ----create queue table with object type
    begin
    DBMS_AQADM.CREATE_QUEUE_TABLE (
    Queue_table => 'etlload.aq_qtt_text',
    Queue_payload_type => 'etlload.evt_ot');
    end;
    ---create queues.
    begin
    DBMS_AQADM.CREATE_QUEUE (
    Queue_name => 'etlload.aq_text_que',
    Queue_table => 'etlload.aq_qtt_text');
    end;
    Rem
    Rem Starting the queues and enable both enqueue and dequeue
    Rem
    EXECUTE DBMS_AQADM.START_QUEUE (Queue_name => 'etlload.aq_text_que');
    ----create procedure to dequeue an array and pass it OUT using msg_evt_table ---type collection.
    create or replace procedure test_aq_q (
    i_array_size in number ,
    o_array_size out number ,
    text1 out msg_evt_table) is
    begin
    DECLARE
    message_properties_array dbms_aq.message_properties_array_t :=
    dbms_aq.message_properties_array_t();
    msgid_array dbms_aq.msgid_array_t;
    dequeue_options dbms_aq.dequeue_options_t;
    message etlload.msg_evt_table;
    id pls_integer := 0;
    retval pls_integer := 0;
    total_retval pls_integer := 0;
    ctr number :=0;
    havedata boolean :=true;
    java_exp exception;
    no_messages exception;
    pragma EXCEPTION_INIT (java_exp, -24197);
    pragma exception_init (no_messages, -25228);
    BEGIN
    DBMS_OUTPUT.ENABLE (20000);
    dequeue_options.wait :=0;
    dequeue_options.correlation := 'event' ;
    id := i_array_size;
    -- Dequeue this message from AQ queue using DBMS_AQ package
    begin
    retval := dbms_aq.dequeue_array(
    queue_name => 'etlload.aq_text_que',
    dequeue_options => dequeue_options,
    array_size => id,
    message_properties_array => message_properties_array,
    payload_array => message,
    msgid_array => msgid_array);
    text1 := message;
    o_array_size := retval;
    EXCEPTION
    WHEN java_exp THEN
    dbms_output.put_line('exception information:');
    WHEN no_messages THEN
    havedata := false;
    o_array_size := 0;
    end;
    end;
    END;
    ----below is the java code....
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Struct;
    import oracle.jdbc.driver.OracleCallableStatement;
    import oracle.jdbc.driver.OracleTypes;
    public class TestOracleArray {
         private final String SQL = "{call etlload.test_aq_q(?,?,?)}";//array size, var name for return value, MessageEventTable
         private final String driverClass = "oracle.jdbc.driver.OracleDriver";
         private final String serverName = "OurServerName";
         private final String port = "1500";
         private final String sid = "OurSid";
         private final String userId = "OurUser";
         private final String pwd = "OurPwd";
         Connection conn = null;
         public static void main(String[] args){
              TestOracleArray toa = new TestOracleArray();
              try {
                   toa.go();
              } catch (InstantiationException e) {
                   // TODO Auto-generated catch block
                   e.printStackTrace();
              } catch (IllegalAccessException e) {
                   // TODO Auto-generated catch block
                   e.printStackTrace();
              } catch (ClassNotFoundException e) {
                   // TODO Auto-generated catch block
                   e.printStackTrace();
              } catch (SQLException e) {
                   // TODO Auto-generated catch block
                   e.printStackTrace();
         private void go() throws InstantiationException, IllegalAccessException, ClassNotFoundException, SQLException{
              Class.forName(driverClass).newInstance();
              String url = "jdbc:oracle:thin:@"+serverName+":"+port+":"+sid;
              conn = DriverManager.getConnection(url,userId,pwd);
              OracleCallableStatement stmt = (OracleCallableStatement)conn.prepareCall(SQL);
              //set 1 input
              stmt.setInt(1, 50);
              //register out 1
              stmt.registerOutParameter(2, OracleTypes.NUMERIC);
              //register out 2
              stmt.registerOutParameter(3, OracleTypes.ARRAY, "MSG_EVT_TABLE");
              * This code returns a non-null ResultSet but there is no data in the ResultSet
              * ResultSet rs = stmt.executeQuery();
              * rs.close();
              * Tried all sorts of combinations of getXXXX(1);
              * All return the same error Message: Invalid column index
              * So it appears that the execute statment returns no data.
              stmt.execute();
              Struct myObject = (Struct)stmt.getObject(1);
              stmt.close();
              conn.close();
    }

    Hi,
    Sorry but I'd refer you to the following sections (and code samples/snippets) in my book:
    Mapping User-Defined Object Types (AD) to oracle.sql.STRUCT in section 3.3, shows how to pass user defined types as IN, OUT,IN/OUT
    JMS over Streams/AQ in the Database: shows how to consume AQ
    message paylod in section 4.2.4
    CorporateOnine, in section 17.2, show how to exchanges user defined type objects b/w AQ and JMS
    All these will hopefully help you achieve what you are trying to do.
    Kuassi

  • Result set already closed

    Hi everyone,
    I know that there are already several threats on this issue, but none of them seems to sovle my issue.
    Hence, I'll try it again.
    JDeveloper: 11.1.1.3.0
    Action: Doing a delete of a row in an entity-based view object, doing a commit. Doing the exact same thing again, but now with an error : java.sql.SQLException: Result set already closed
    I'm unable to reproduce in a simple case.
    I tried to remove the commit statement, without success.
    I tried the following code:
          Map sessionMap;
          BindingContext context;
          String currentFrameName;
          DataControlFrame dcFrame;
          sessionMap = FacesContext.getCurrentInstance().getExternalContext().getSessionMap();
          context = (BindingContext)sessionMap.get(BindingContext.CONTEXT_ID);
          currentFrameName = context.getCurrentDataControlFrame();
          dcFrame = context.findDataControlFrame(currentFrameName);
          dcFrame.commit();
          dcFrame.beginTransaction(null); Also without success.
    This is my original java code:
            OperationBinding deleteOper =
                ADFUtils.findOperation(OPERATION_DELETEINVOICE);
            deleteOper.execute();
            List errors = deleteOper.getErrors();
            if (errors != null && !errors.isEmpty()) {
                for (Object o : errors) {
                    logger.severe("Error during delete invoice : " + o + "-----" +
                                  o.getClass());
            //Committing the transaction
            OperationBinding commitOper = ADFUtils.findOperation(OPERATION_COMMIT);
            commitOper.execute();
            errors = commitOper.getErrors();
            if (errors != null && !errors.isEmpty()) {
                for (Object o : errors) {
                    logger.severe("Error during commit delete invoice : " + o +
                                  "-----" + o.getClass());
            }Does anyone have any idea's to tackle this problem?
    Thank you in advance.
    Filip Huysmans.
    <InvoiceFlowManagedBean><removeInvoice> Error during delete invoice : oracle.jbo.AttributeLoadException: JBO-27022: Kan waarde niet laden bij index 1 met Java-object van type java.lang.Integer vanwege java.sql.SQLException.-----class oracle.jbo.AttributeLoadException
    <Utils><buildFacesMessage> ADF: Adding the following JSF error message: Result set already closed
    java.sql.SQLException: Result set already closed
         at weblogic.jdbc.wrapper.ResultSet.checkResultSet(ResultSet.java:110)
         at weblogic.jdbc.wrapper.ResultSet.preInvocationHandler(ResultSet.java:65)
         at weblogic.jdbc.wrapper.ResultSet_oracle_jdbc_driver_OracleResultSetImpl.getInt(Unknown Source)
         at oracle.jbo.common.IntegerTypeSQLNativeImpl.getDataFromResultSet(JboTypeMapEntries.java:506)
         at oracle.jbo.server.AttributeDefImpl.loadFromResultSet(AttributeDefImpl.java:2318)
         at oracle.jbo.server.ViewRowImpl.populate(ViewRowImpl.java:3622)
         at oracle.jbo.server.ViewDefImpl.createInstanceFromResultSet(ViewDefImpl.java:2203)
         at oracle.jbo.server.ViewObjectImpl.createRowFromResultSet(ViewObjectImpl.java:5325)
         at oracle.jbo.server.ViewObjectImpl.createInstanceFromResultSet(ViewObjectImpl.java:5174)
         at oracle.jbo.server.QueryCollection.populateRow(QueryCollection.java:3304)
         at oracle.jbo.server.QueryCollection.fetch(QueryCollection.java:3164)
         at oracle.jbo.server.QueryCollection.get(QueryCollection.java:2154)
         at oracle.jbo.server.ViewRowSetImpl.getRow(ViewRowSetImpl.java:4853)
         at oracle.jbo.server.ViewRowSetIteratorImpl.doFetch(ViewRowSetIteratorImpl.java:2914)
         at oracle.jbo.server.ViewRowSetIteratorImpl.notifyRowDeleted(ViewRowSetIteratorImpl.java:3141)
         at oracle.jbo.server.ViewRowSetImpl.notifyRowDeleted(ViewRowSetImpl.java:1964)
         at oracle.jbo.server.ViewObjectImpl.notifyRowDeleted(ViewObjectImpl.java:10729)
         at oracle.jbo.server.ViewObjectImpl.notifyRowDeleted(ViewObjectImpl.java:10767)
         at oracle.jbo.server.QueryCollection.removeRow(QueryCollection.java:4038)
         at oracle.jbo.server.QueryCollection.afterRemove(QueryCollection.java:4003)
         at oracle.jbo.server.ViewObjectImpl.sourceChanged(ViewObjectImpl.java:12662)
         at oracle.jbo.server.EntityCache.sendEvent(EntityCache.java:1354)
         at oracle.jbo.server.EntityCache.deliverEntityEvent(EntityCache.java:1370)
         at oracle.jbo.server.EntityCache.notifyStateChange(EntityCache.java:1499)
         at oracle.jbo.server.EntityImpl.setState(EntityImpl.java:4895)
         at oracle.jbo.server.EntityImpl.remove(EntityImpl.java:8477)
         at oracle.jbo.server.ViewRowImpl.doRemove(ViewRowImpl.java:3196)
         at oracle.jbo.server.ViewRowImpl.remove(ViewRowImpl.java:3241)
         at oracle.jbo.server.QueryCollection.doRemove(QueryCollection.java:2425)
         at oracle.jbo.server.QueryCollection.remove(QueryCollection.java:2448)
         at oracle.jbo.server.ViewRowSetImpl.removeRowAt(ViewRowSetImpl.java:2396)
         at oracle.jbo.server.ViewRowSetIteratorImpl.doRemoveCurrentRow(ViewRowSetIteratorImpl.java:2448)
         at oracle.jbo.server.ViewRowSetIteratorImpl.removeCurrentRow(ViewRowSetIteratorImpl.java:2473)
         at oracle.jbo.server.ViewRowSetImpl.removeCurrentRow(ViewRowSetImpl.java:3252)
         at oracle.jbo.server.ViewObjectImpl.removeCurrentRow(ViewObjectImpl.java:9965)
         at oracle.adf.model.binding.DCIteratorBinding.removeCurrentRow(DCIteratorBinding.java:2675)
         at oracle.jbo.uicli.binding.JUCtrlActionBinding.doIt(JUCtrlActionBinding.java:1283)
         at oracle.adf.model.binding.DCDataControl.invokeOperation(DCDataControl.java:2141)
         at oracle.jbo.uicli.binding.JUCtrlActionBinding.invoke(JUCtrlActionBinding.java:730)
         at oracle.adf.controller.v2.lifecycle.PageLifecycleImpl.executeEvent(PageLifecycleImpl.java:394)
         at oracle.adfinternal.view.faces.model.binding.FacesCtrlActionBinding._execute(FacesCtrlActionBinding.java:252)
         at oracle.adfinternal.view.faces.model.binding.FacesCtrlActionBinding.execute(FacesCtrlActionBinding.java:210)
         at be.fgov.health.mediflow.medicalcosts.view.bean.InvoiceFlowManagedBean.removeInvoice(InvoiceFlowManagedBean.java:957)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at com.sun.el.parser.AstValue.invoke(AstValue.java:157)
         at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:283)
         at be.fgov.health.mediflow.medicalcosts.view.util.JSFUtils.resolveMethodExpression(JSFUtils.java:96)
         at be.fgov.health.mediflow.medicalcosts.components.bean.RemoveConfirmationManagedBean.performRemove(RemoveConfirmationManagedBean.java:59)
         

    hi Filip
    Filip Huysmans wrote:
    ... Doing the exact same thing again, but now with an error : java.sql.SQLException: Result set already closed ...Maybe My Oracle Support note 1077305.1, "Random JBO-27122 and 'Closed Statement' Errors when Running ADF 11g App With XA Datasources", can help.
    Its "Solution" says
    "Don't use XA Datasources with ADF. So when creating a datasource in the WebLogic server make sure to change the Datasource JDBC driver from “Oracle’s Driver (Thin XA)” to “Oracle’s Driver (Thin)”. "
    success
    Jan Vervecken

  • Error in result set from join query

    I get a SQL exception from the JDBC thin driver when I make a getXXX( "string" ) call on a result set object when the query is a join. Aliases don't seem to help.
    Below is the stack trace.
    Anybody have any ideas?
    matt
    ResultSet.findColumn
    java.sql.SQLException: Invalid column name: get_column_index
    at oracle.jdbc.dbaccess.DBError.check_error(DBError.java:427)
    at oracle.jdbc.driver.OracleStatement.get_column_index(OracleStatement.java, Compiled Code)
    at oracle.jdbc.driver.OracleResultSet.findColumn(OracleResultSet.java:680)
    at person.PersonMgr.getForEdit(PersonMgr.java:114)
    at person.PersonMgr.getForView(PersonMgr.java:168)
    at person.PersonMgr.getPersonForView(PersonMgr.java:164)
    at nwsession.NWSession.login(NWSession.java:224)
    at jsp.dologin._jspService(dologin.java:241)
    at com.livesoftware.jsp.HttpJSPServlet.service(HttpJSPServlet.java:31)
    at com.livesoftware.jsp.JSPServlet.service(JSPServlet.java:129)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:840)
    at com.livesoftware.jrun.JRun.runServlet(JRun.java, Compiled Code)
    at com.livesoftware.jrun.JRunGeneric.handleConnection(JRunGeneric.java:116)
    at com.livesoftware.jrun.service.proxy.JRunProxyServiceHandler.handleRequest(JRunProxyServiceHandler.java, Compiled Code)
    at com.livesoftware.jrun.service.ThreadConfigHandler.run(ThreadConfigHandler.java, Compiled Code)

    Your reference to NS.REQDATE is too deep. Oracle will only allow you to reference a column from the main query one level deep.
    I think you can just change that query into this:
    (Select AVG(((cpath.REQUESTDATETIME)- NS.REQDATE)*1440) AvgTime
    FROM usersessiondetails cpath
    Where cpath.Userkey=(Select Userkey from ods_user where userid=NS.UserId and namespace=NS.Namespace)
       and cpath.acctnum=aCCTNUM
       and cpath.transactionname IN (AUTH_LOGOFF' )
       and cpath.REQUESTDATETIME = NS.REQDATE )You do not need the extra query level to do the AVG.

  • Scrollable result set fails with doubles

    Hi there,
    i have a strange behaviour using the 10g thin JDBC driver:
    Using a scrollable result set the driver fails reading a BINARY_DOUBLE value from the result set with rs.getDouble(column) as long as the value is not null. The SQLException reports "Conversion to double failed".
    When i use a forward-only result set instead, the value can be retrieved without any error. Can anyone explain this or give a workaround?
    Thanks in advance,
    Thorsten

    ThorstenS,
    ScrollableResultSet stores BINARY_DOUBLE column as oracle.sql.BINARY_DOUBLE & since, oracle.sql.BINARY_DOUBLE does not have method to convert to double you are seeing this error.
    The workaround would be to do,
    rs.getBINARYDOUBLE(1).stringValue()
    & please file an enhancement request against Jdbc.
    =
    Ashok

  • "java.sql.SQLException: Result set already closed"    on weblogic 9.1

    Hello together,
    i'm using hibernate 3.2.5ga on weblogic 9.1 through a data source with JTA defined to access oracle 10 with the Oracle's Thin XA Driver. Sporadically i get this:
    Caused by: java.sql.SQLException: Result set already closed
         at weblogic.jdbc.wrapper.ResultSet.checkResultSet(ResultSet.java:102)
         at weblogic.jdbc.wrapper.ResultSet.preInvocationHandler(ResultSet.java:58)
         at weblogic.jdbc.wrapper.ResultSet_oracle_jdbc_driver_OracleResultSetImpl.getInt(Unknown Source)
         at org.hibernate.type.IntegerType.get(IntegerType.java:28)
         at org.hibernate.type.NullableType.nullSafeGet(NullableType.java:163)
         at org.hibernate.type.NullableType.nullSafeGet(NullableType.java:154)
         at org.hibernate.type.AbstractType.hydrate(AbstractType.java:81)
         at org.hibernate.persister.entity.AbstractEntityPersister.hydrate(AbstractEntityPersister.java:2096)
         at org.hibernate.loader.Loader.loadFromResultSet(Loader.java:1380)
         at org.hibernate.loader.Loader.instanceNotYetLoaded(Loader.java:1308)
         at org.hibernate.loader.Loader.getRow(Loader.java:1206)
         at org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:580)
         at org.hibernate.loader.Loader.doQuery(Loader.java:701)
         at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:236)
         at org.hibernate.loader.Loader.doList(Loader.java:2220)
         at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2104)
         at org.hibernate.loader.Loader.list(Loader.java:2099)
         at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:378)
         at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:338)
         at org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:172)
         at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1121)
         at org.hibernate.impl.QueryImpl.list(QueryImpl.java:79)
    This exception is thrown when i try to execute a named query for retrieving some data.
    Does anybody know what is wrong?
    Edited by eazy_rida at 12/17/2007 8:32 AM

    Hi Joe
    Here is the full stack trace:
    org.springframework.orm.hibernate3.HibernateSystemException: Exception occurred inside setter of uk.co.cpp.ptarmigan.domain.npp.NppCoveredParty.assets; nested exception is org.hibernate.PropertyAccessException: Exception occurred inside setter of uk.co.cpp.ptarmigan.domain.npp.NppCoveredParty.assets
         at org.springframework.orm.hibernate3.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:661)
         at org.springframework.orm.hibernate3.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:412)
         at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:379)
         at org.springframework.orm.hibernate3.HibernateTemplate.find(HibernateTemplate.java:872)
         at org.springframework.orm.hibernate3.HibernateTemplate.find(HibernateTemplate.java:868)
         at uk.co.cpp.ptarmigan.business.dao.hibernate.HibernateNppPolicyDAOImpl.findPolicyByPolicyNumber(HibernateNppPolicyDAOImpl.java:109)
         at uk.co.cpp.testptarmigan.PartyServiceTest.testFetchPhoneAngelUser(PartyServiceTest.java:79)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at org.springframework.test.ConditionalTestCase.runBare(ConditionalTestCase.java:76)
         at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:40)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at com.intellij.rt.execution.application.AppMain.main(AppMain.java:90)
    Caused by: org.hibernate.PropertyAccessException: Exception occurred inside setter of uk.co.cpp.ptarmigan.domain.npp.NppCoveredParty.assets
         at org.hibernate.property.BasicPropertyAccessor$BasicSetter.set(BasicPropertyAccessor.java:65)
         at org.hibernate.tuple.entity.AbstractEntityTuplizer.setPropertyValues(AbstractEntityTuplizer.java:337)
         at org.hibernate.tuple.entity.PojoEntityTuplizer.setPropertyValues(PojoEntityTuplizer.java:200)
         at org.hibernate.persister.entity.AbstractEntityPersister.setPropertyValues(AbstractEntityPersister.java:3571)
         at org.hibernate.engine.TwoPhaseLoad.initializeEntity(TwoPhaseLoad.java:133)
         at org.hibernate.loader.Loader.initializeEntitiesAndCollections(Loader.java:854)
         at org.hibernate.loader.Loader.doQuery(Loader.java:729)
         at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:236)
         at org.hibernate.loader.Loader.loadCollection(Loader.java:1994)
         at org.hibernate.loader.collection.CollectionLoader.initialize(CollectionLoader.java:36)
         at org.hibernate.persister.collection.AbstractCollectionPersister.initialize(AbstractCollectionPersister.java:565)
         at org.hibernate.event.def.DefaultInitializeCollectionEventListener.onInitializeCollection(DefaultInitializeCollectionEventListener.java:63)
         at org.hibernate.impl.SessionImpl.initializeCollection(SessionImpl.java:1716)
         at org.hibernate.collection.AbstractPersistentCollection.forceInitialization(AbstractPersistentCollection.java:454)
         at org.hibernate.engine.StatefulPersistenceContext.initializeNonLazyCollections(StatefulPersistenceContext.java:844)
         at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:241)
         at org.hibernate.loader.Loader.doList(Loader.java:2213)
         at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2104)
         at org.hibernate.loader.Loader.list(Loader.java:2099)
         at org.hibernate.hql.classic.QueryTranslatorImpl.list(QueryTranslatorImpl.java:912)
         at org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:172)
         at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1121)
         at org.hibernate.impl.QueryImpl.list(QueryImpl.java:79)
         at org.springframework.orm.hibernate3.HibernateTemplate$30.doInHibernate(HibernateTemplate.java:881)
         at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:374)
         ... 28 more
    Caused by: java.lang.reflect.InvocationTargetException
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at org.hibernate.property.BasicPropertyAccessor$BasicSetter.set(BasicPropertyAccessor.java:42)
         ... 52 more
    Caused by: org.hibernate.exception.GenericJDBCException: could not initialize a collection: [uk.co.cpp.ptarmigan.domain.npp.NppCoveredParty.assets#component[partyId,policyId]{partyId=77951, policyId=78632}]
         at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:103)
         at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:91)
         at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
         at org.hibernate.loader.Loader.loadCollection(Loader.java:2001)
         at org.hibernate.loader.collection.CollectionLoader.initialize(CollectionLoader.java:36)
         at org.hibernate.persister.collection.AbstractCollectionPersister.initialize(AbstractCollectionPersister.java:565)
         at org.hibernate.event.def.DefaultInitializeCollectionEventListener.onInitializeCollection(DefaultInitializeCollectionEventListener.java:63)
         at org.hibernate.impl.SessionImpl.initializeCollection(SessionImpl.java:1716)
         at org.hibernate.collection.AbstractPersistentCollection.initialize(AbstractPersistentCollection.java:344)
         at org.hibernate.collection.AbstractPersistentCollection.read(AbstractPersistentCollection.java:86)
         at org.hibernate.collection.PersistentBag.toArray(PersistentBag.java:257)
         at java.util.Collections.sort(Collections.java:158)
         at uk.co.cpp.ptarmigan.domain.npp.NppCoveredParty.setAssets(NppCoveredParty.java:54)
         ... 57 more
    Caused by: java.sql.SQLException: Result set already closed
         at weblogic.rjvm.BasicOutboundRequest.sendReceive(BasicOutboundRequest.java:108)
         at weblogic.rmi.internal.BasicRemoteRef.invoke(BasicRemoteRef.java:137)
         at weblogic.jdbc.rmi.internal.ResultSetImpl_weblogic_jdbc_wrapper_ResultSet_oracle_jdbc_driver_OracleResultSetImpl_922_WLStub.next(Unknown Source)
         at weblogic.jdbc.rmi.internal.ResultSetStub_weblogic_jdbc_rmi_internal_ResultSetImpl_weblogic_jdbc_wrapper_ResultSet_oracle_jdbc_driver_OracleResultSetImpl_922_WLStub.next(Unknown Source)
         at weblogic.jdbc.rmi.internal.ResultSetStraightReader.next(ResultSetStraightReader.java:27)
         at weblogic.jdbc.rmi.SerialResultSet.next(SerialResultSet.java:84)
         at org.hibernate.loader.Loader.doQuery(Loader.java:697)
         at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:236)
         at org.hibernate.loader.Loader.loadCollection(Loader.java:1994)
         ... 66 more
    Caused by: java.sql.SQLException: Result set already closed
         at weblogic.jdbc.wrapper.ResultSet.checkResultSet(ResultSet.java:102)
         at weblogic.jdbc.wrapper.ResultSet.preInvocationHandler(ResultSet.java:58)
         at weblogic.jdbc.wrapper.ResultSet_oracle_jdbc_driver_OracleResultSetImpl.next(Unknown Source)
         at weblogic.jdbc.rmi.internal.ResultSetImpl_weblogic_jdbc_wrapper_ResultSet_oracle_jdbc_driver_OracleResultSetImpl.next(Unknown Source)
         at weblogic.jdbc.rmi.internal.ResultSetImpl_weblogic_jdbc_wrapper_ResultSet_oracle_jdbc_driver_OracleResultSetImpl_WLSkel.internalInvoke1(Unknown Source)
         at weblogic.jdbc.rmi.internal.ResultSetImpl_weblogic_jdbc_wrapper_ResultSet_oracle_jdbc_driver_OracleResultSetImpl_WLSkel.invoke(Unknown Source)
         at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:550)
         at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:440)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:147)
         at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:436)
         at weblogic.rmi.internal.BasicServerRef.access$300(BasicServerRef.java:58)
         at weblogic.rmi.internal.BasicServerRef$BasicExecuteRequest.run(BasicServerRef.java:975)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:181)
    We are using using a connection within a client application (in our case we are executing this from a jUnit Integration test) so could this be caused by the handling of these remote connections?

  • BW Web Report Issue - Result set too large

    Hi,
    When I execute a BEx Query on Web I am getting “Result set too large ; data retrieval restricted by configuration (maximum = 500000 cells)”.
    Following to my search in SDN I understood we can remove this restriction either across the BW system globally or for a specific query at WAD template.
    In my 7x Web template I am trying to increase default max no of rows parameters, As per the below inputs from SAP Note: 1127156.
    But I can’t find parameter “Size Restriction for Result Sets” for any of the web items (Analysis/Web Template properties/Data Provider properties)….in the WAD Web template
    Please advise where/how can I locate the properites
    Instructions provided in SAP Note…
    The following steps describe how to change the "safety belt" for Query Views:
    1. Use the context menu Properties / Data Provider in a BEx Web Application to maintain the "safety belt" for a Query View.
    2. Choose the register "Size Restriction for Result Sets".
    3. Choose an entry from the dropdown box to specify the maximum number of cells for the result set.
                  The following values are available:
    o Maximum Number
    o Default Number
    o Custom-Defined Number
                  Behind "Maximum Number" and "Default Number" you can find the current numbers defined in the customizing table RSADMIN (see below).
    4. Save the Query View and use it in another Web Template.
    Thanks in advance

    Hi Yasemin,
    Thanks for all help...i was off couple of days.
    To activate it I can suggest to create a dummy template, add your query in it, add a menu bar component add an action to save the query view. Then you run the template and change the size restriction for result set then you can save it by the menu.
    Can you please elaborate on the solution provided,I created dummy template with analysis and Menu bar item...i couldn't able to configure menu bar item...
    Thanks in advance

  • How can I use ONE Text search iView to event/affect mutliple Result Sets?

    hello everyone,
    i have a special situation in which i have 6 flat tables in my repository which all have a common field called Location ID (which is a lookup flat to the Locations table).
    i am trying to build a page with a free-form text search iView on Table #1 (search field = Location ID).  when I execute the search, the result set for Table #1 is properly updated, but how do I also get Result Set iViews for Tables #2-6 to also react to the event from Text Search for Table #1 so that they are updated?
    i don't want to have to build 6 different text search iViews (one for each table).  i just want to use ONE text search iView for all the different result set tables.  but, in the documentation and iView properties, the text search iView doesn't have any eventing.
    if you have any suggestions, please help.
    many thanks in advance,
    mm

    hello Donna,
    that should not be a problem, since you are detailw with result sets and detail iviews because custom eventing can be defined for those iviews.
    Yes, it says "no records" found because an active search and record selection havent' been performed for it (only your main table does).
    So, yes, define a custom event, and pass the appropriate parameters and you should be fine.
    Creating a custom event between a Result Set iView and an Item Details iView is easy and works. I have done it.
    See page 35 of the Portal Content Development Guide for a step-by-step example, which is what I used.
    For my particular situation, the problem I'm having is that I want the Search Text iView's event (i.e., when the Submit button is pressed) to be published to multiple iViews, all with different tables.  Those tables all share some common fields, which is what the Search iView has, so I'd like to pass the search critera to all of the iViews.
    -mm

  • Access Subform - Can the Subforms Source Object be defined by an SQL SP result set?

    Hi Guys,
    I can't clearly answer this question with a yes or no.
    I have an Access Sub Form that I am populating with a record set from a Store Procedure. Fairly early on I discovered that for this to work correctly the Source Object for the Sub Form Control must be set first, and most examples (including a working version
    of my own) achieve this by defining an Access Query and setting the Source Object to this.
    What I would really like to do is define the Source Object using the results of a SQL Store Procedure using ONLY code within VBA.
    Now before anyone starts providing alternatives "why don't you just..."  I'm noting now that I have a semi complex solution that makes most non-VBA based approaches ineffective. While it does work at present with an Access Query I'm needing
    to make the result set more dynamic meaning in future I will not know how many columns will be returned or the name of them, only the SP will have this information.
    Thanks in advance!

    Well after much trial and error I've got something which does what I want, although I'm not thrilled that I couldn't do this via my existing ADODB connections, in any case example provided below;
        Dim db As DAO.Database
        Dim qdf As New DAO.QueryDef
        Set db = CurrentDb()
       'qryMyTest refers to a dummy Access query (non pass through). 
        With db.QueryDefs("qryMyTest")
            .Connect = CurrentDb.TableDefs("tblSomeTestSQLTable").Connect
            .SQL = "exec sp_MyTestSP"
            Me.subfrmTest1.SourceObject = "Query.qryMyTest"
        End With   
        Set qdf = Nothing
    I've also marked your response Alphonse as an answer as it lead me onto the right path.

  • How to Create a new column from two different result sets

    How to Create a new column from two different result sets, both the result set uses the different date dimensions.

    i got solutions for this is apply filters in column formula it self, based on the requirement.

  • How do I create an Event Handler for an Execute SQL Task in SSIS if its result set is empty

    So the precedence on my entire package executing is based on my first SELECT of my Table and an updatable column. If that SELECT results in an empty result set, how do I create an Event Handler to handle an empty result set?
    A Newbie to SSIS.
    I appreciate your review and am hopeful for a reply.
    PSULionRP

    Depends upon what you want to do in the eventhandler. this is what you can do
    Store the result set from the Select to a user variable.
    Pass this user variable to a Script task.
    In the Script task do whatever you want to do including failing the package this can be done by failing the script task, which in turns fails the package. something like
    Dts.TaskResult = Dts.Results.Failure
    Abhinav http://bishtabhinav.wordpress.com/

Maybe you are looking for

  • How do I enable CHM-embedded SWF Files in Windows 7 64 bits?

    Hi, I have a Robohelp project with several important tutorials in the Flash SWF format, all of which were added to the project without issue. I have kept these in the CHM output for close to 2 years without issue. Then our company began to switch fro

  • Word 2007 Arabic conversion to PDF - problems - help?

    I have a Word 2007 document with Arial font that contains English and Arabic (Saudi Arabia) languages. When I "Create PDF" from the Acrobat toolbar in Word, the PDF that results is mostly white space because only the English text is converted. All of

  • Weblogic Integration Sample is available for download from developer site

    Hi, All, The Weblogic Integration 2.0 Sample is available for download from the developer site: http://developer.bea.com/ftp_bin/download/code/wliSample_1.zip This sample shows how to develop a standard based integration solution within and across en

  • MRP Process

    Hello, I have one query regarding system MRP behaviour. In our system for XYZ material is present with Manual re order point planning and reorder point is 4 PC. So ideally PR should be generated when 4 stock reduces further to 3.Also the Maximum stoc

  • I need to download an older version of garageband 6.0

    I do not have garageband on this mac. I am trying to find a copy of older version og Garageband 6.0