Problems with oraOLEDB.Oracle Provider

Hello,
I recently installed the oraOLEDB.Oracle Provider with no issues. When using an oledbdatareader from a .net app we are receiving weird results when pulling more than 100 records from Oracle 8 database. The reader outputs unreadable data after the 100 record. Interestingly enough this only happens when we select individual fields for example select user_id from users. When we do select * from users everything is fine. Also In this particular database the encoding is UTF8. When we pull from another Oracle 8 instance with no encoding we receive no distorted results. Anybody ever encountered or heard of anything like this?
thanks in advance,
jim.

Your procedure has a single OUT parameter ... and yet it appears you are trying to stuff something into it ... that is never going to work. Additionally everything else about your stored procedure would have gotten you a FAIL grade were you been in my beginning PL/SQL class.
The syntax, a cursor loop, is obsolete and has been for more than 10 years.
The formatting and use of case makes even the few lines written hard to read.
And either no commit ever takes place or you are trying to do incremental commits in origseq: Both of which are bad practice.
This code should use BULK COLLECT to collect all relevant records into an array and then pass the array to origseq ... no loops ... and end with a commit.
Demo here: http://www.morganslibrary.org/reference/array_processing.html

Similar Messages

  • Ms sql server linked server with OraOLEDB.Oracle provider session handling

    Hi everyone!!
    Here's my situation:
    I have a MS SQL Server 2008 R2 with a linked server to Oracle via OraOLEDB.Oracle provider.
    I use a .net application to open a connection to my sql-server, execute a select that collects data through the linked-server-connection from the oracle database and after that I close to connection to the sql.
    It does work so far,
    but when I start my application, exit it proberly and start it again it seems that i get the same session as before (which is for some reasons very bad).
    Is that the right/normal behavior?
    Is there any way to avoid that?!
    How does the OraOLEDB.Oracle provider handle the sessions if used in/as a linked server?
    thanks and greetings,
    exoc
    Edited by: 944414 on Jul 4, 2012 5:43 AM

    Hii Rouann,
    Does the error occur when you call the stored procedure from SSIS package and map SSIS variables to the parameters in the stored procedure? Can you run the store procedure from SSMS properly? If you can run the stored procedure from SSMS, the issue seems
    to occur due to the date format mismatch between the SSIS variables and the parameters in the stored procedure.
    If you cannot run the stored procedure from SSMS as well, the issue should occur due to the incorrect data conversion within the store procedure itself as Tom mentioned.
    Regards,
    Mike Yin
    TechNet Community Support

  • E_UNEXPECTED(0x8000FFFF) Problem with OraOleDB.Oracle

    Hi,
    I am developing a ASP.NET application (Framework 1.1) and since migration from Windows 2000 Server to Windows 2003 Server I have following problem:
    - Every now and then I get following exception:
    Exception: System.Data.OleDb.OleDbException
    Message: No error information available: E_UNEXPECTED(0x8000FFFF).
    at System.Data.OleDb.OleDbConnection.ProcessResults(Int32 hr)
    at System.Data.OleDb.OleDbConnection.InitializeProvider()
    at System.Data.OleDb.OleDbConnection.Open()
    after receiving this exception the whole application hangs and has to be restarted. There is no way to open the connection to the DB until restart.
    connection string: Provider=OraOLEDB.Oracle;Data Source=mydb;pool=true;User ID=MYSCHEMA;Password=mypass
    did anyone have similar problem already ? Does anyone have any ideas ?
    thanks in advance
    Michal

    Note that you don't need to set up a DSN if you're using the Oracle OLE DB provider-- that's an ODBC-ism. In the OLE DB world, that only comes into play if you're using the Microsoft OLE DB to ODBC translation layer.
    The Oracle ODBC driver ought to be installed as pasrt of the Oracle client install, though you can download updated drivers from OTN.
    Justin

  • 'OraOLEDB.Oracle' provider is not registered - ODAC 11.1.0.6.10 Beta2

    Hello,
    I have installed the ODAC 11.1.0.6.10 Beta2 and when working with ASPX pages that use OraOleDB, it raises the following error:
    Additional information: The 'OraOLEDB.Oracle' provider is not registered on the local machine.
    Do I have to do something else to set the OraOleDB registered? during the installation I selected to install all the components of the Odac (except the MTS service). This app was working fine whith a previos previous intallation of the ODAC 10.2.02.20. (to try the new version, I uninstalled the previous version)
    Thanks.

    Hello Buddie, how you doing?
    I just solved my problem.
    Verifying which DLL were missing through OraOleDB.dll, using the tool "Dependency Walker", I downloaded and put them into the respective directories. I'm going to show you.
    Must be aware you needn't overwrite any DLL.
    In my scenario, having Oracle Client 8.1.7.0, the missing dll are following below:
    %ORACLE_HOME%\bin :
    - OraOLEDButl.dll
    - OraOLEDBrst.dll
    - OraOLEDBgmr.dll
    - OraOLEDBpus.dll
    - OraOLEDBus.dll
    %WINDIR%\system32\ :
    - DWMAPI.dll
    - WINHTTP.dll
    - GDIPLUS.dll
    Just make sure the OraOleDB.dll registering is complain to the tree DLL dependencies.
    I hope it can help you.
    Igor Monteiro.

  • The 'ORAOLEDB.ORACLE' provider is not registered on the local machine.

    Sir,
    I am having my oracle 11g 64 bit database in RHEL linux 64 bit server. My Visual Studio .Net 2008 64 bit application is running in server having Windows server 2008 64 bit OS and oracle 11.2.0.2.0 client 64 bit.
    When I try to connect the database through the oracle client its working fine and I am able to connect through the development mode of visual studio 2008. But when I try to run in the IIS the following error is coming:
    The 'ORAOLEDB.ORACLE' provider is not registered on the local machine.
    Kindly help me
    Thanks in advance
    n v r

    This is not an Oracle database problem, never mind a database server language (PL/SQL or SQL) problem.
    The problem you've described is with a Microsoft product, Visual Studio 2008. The server you refer to is Microsoft IIS. The error you list is an error with a Microsoft proprietary technology called OLEDB (part of Microsoft's <i>Component Object Model</i>).
    Just where does Oracle PL/SQL and SQL languages, the subject matter of this forum, feature in your problem with Microsoft proprietary technology?

  • OraOLEDB.Oracle-Provider cannot be found. It may not be properly installed.

    I have a traditional ASP page that uses the OraOLEDB.Oracle.1 provider to connect to an Oracle database. The oracle 9 client is installed on the Webserver and the asp page can successfully connect to the oracle database using the Microsoft OLE DB provider for Oracle. The problem with using the Microsoft provider is that the database has a datatype that is not recognized by the Microsoft provider. I cannot understand why the OraOLEDB.Oracle provider is not working. I have verified permissions on the Ora90 directory and it is set to allow EVERYONE read and execute permissions currently. I have .NET apps on the server that use the OracleClient.dll successfully.
    Does anyone have any ideas on what I could try to get the OraOLEDB.Oracle provider working?

    Just as an FYI for everyone.
    The base version of the Oracle Client 9.2.0.1.0 has a known bug with installing DLLs with incorrect permissions for Authtenicated Users. You will see this type of error message when connecting from ASP or ASPX but not client server applications.
    This is fixed in 9.2.0.7.0 client patchset, restart and it should work fine. Other scenarios can cause same error like the provider not being installed, the key different is that you can connect via client server but not Web Applications when you are hitting this permissions bug.
    Feedback and Comments Welcome
    J

  • 'ORAOLEDB.ORACLE' provider is not registered on local machine.

    Operating System: Windows XP Pro 64-bit
    Oracle: 11G Standard Edition One (32-bit)
    App: VB.NET (32-bit)
    Attempts at fixing problem: 1) Set permissions for users ORACLE_HOME folder as advised. 2) Ran REGSVR32 on ORAOLEDB11.DLL in "BIN" folder of ORACLE_HOME.
    Other Info: App runs fine on Windows XP Pro 32-bit machine with Oracle XE (32-bit).
    Thanks.

    Do you know if the IIS virtual directory in which you are running is configured to support Anonymous access? If it is then you may be running into a permissions problem with the "IUSR_<machineName>" account not having sufficient priveleges to create an instance of the OraOLEDB.Oracle provider.
    You could test this by temporarily adding the IUSR_ account to the admin role. If this works, you may want to consider exploring the COM+ technology that allows you to specify a user other than the one defined by IIS for running system level operations (such as establishing a DB connection ).

  • HT4623 I keep getting an error message "cannot connect to the internet."  Is this a problem with my internet provider, or has anyone else had this problem.

    I keep getting an error message "cannot connect to the internet."  Is this a problem with my internet provider, or has anyone else had this problem.

    I get that problem once in a while and I will not be able to connect to the Internet with any of the 5 or 6 (or 7 or 8 ) web browsers that I use on my iPad. The one thing that I do that has never failed to work for me is to close all apps on my iPad and reset the device. I can't guarantee that it will work for you, but this works for me every time I get the server failed to load/can't connect to the Internet message.... Or whatever the exact message is.
    If you have a ton of apps in the multitasking display, it can take a while to close them all, so you could just trey resetting the iPad first and that might be all that you need to do.
    Closing apps in iOS 7 works like this. Drag the app up from the multitasking display. Double tap the home button and you will see apps lined up going left to right across the screen. Swipe to get to the app that you want to close and then swipe "up" on the app preview thumbnail to close it.
    Reset the iPad by holding down on the sleep and home buttons at the same time for about 10-15 seconds until the Apple Logo appears - ignore the red slider if it appears on the screen - let go of the buttons. Let the iPad start up.

  • Problem with install oracle on OEL5.3 linux

    Hello,
    Have some strange problem with oracle enterpise linux 5.3 32 bit, during install Oracle 10gR2 got link errors,
    after founded what is problem with linking oracle executables:
    export LD_LIBRARY_PATH=$ORACLE_HOME/lib
    relink oracle
    /usr/bin/ld: cannot find -lskgxn2
    all depended rpms and parameters are set, looks like missing some library, but cannot recognise with one.
    Have somebody spoted souch error ?

    The zipfile on technet has a checksum:
    Oracle Database 11g Release 1 (11.1.0.6.0) for Linux x86
              linux_11gR1_database_1013.zip (1,844,527,800 bytes) (cksum - 1044354138)
    When the zipfile is downloaded, you can check the zipfile on linux with the cksum command, it should be exactly the same as listed on technet, otherwise the zipfile is corrupted.

  • OraOLEDB.Oracle Provider

    Hi. I have tried posting this inquiry in SQL forums but without a response so far so I am hoping someone here can help me out. Forgive me if this post isn't appropriate for this forum.
    I am trying to add a linked Oracle Server to our MSSQL 2005 server but am missing the OraOLEDB.Oracle Provider under Server Objects -> Linked Servers -> Providers in the Object Explorer. (Not really relevant in an Oracle Forum I suppose)
    Anyway, I have also considered using a simple OPENROWSET command to attach to the Oracle Instance but unfortunately one of the parameters required is the name of the Provider for the connection which puts me back at square one for resolution.
    I seemed to have recalled some time back having downloaded the Oracle Driver for MSSQL but I can't for the life of me find the location I got it from before or if it is still available.
    Does anyone know where I can get the driver or where I can get explicit instructions for installing the driver on SQL Server??? I don't want to install the entire Oracle Client just to acquire the 1 driver I need to accomplish my task.
    ANY input or suggestions at all would be greatly appreciated.

    OraOLEDB.Oracle driver is available in the Oracle client installation (you can either choose an administrator option or custom option during install).
    Get hold of a Oracle client setup of version of your choice from http://www.oracle.com/technology/software/index.html

  • OraOLEDB.Oracle Provider Not Found- Windows 7 64 bit Excel 2010 32-bit Help

    Currently, I have an excel 2010 application that users on Windows XP 32 bit are using to connect to an Oracle 32-bit database and extract data back into Excel. Each time they open the Excel file, the VBA code automatically creates a new connection using Provider =ORA.OLEDB.Oracle Provider. All users using the Excel file have installed Oracle 9.2.1 run-time client on their machine. All of that works well currently for over 100+ users on Windows XP 32-bit
    Starting very shortly our company is moving to Windows 7 64-bit. We acquired a test PC with Windows 7 64-bit and Excel 2010 32-bit. We tried to install Oracle 9.0.2 run-time client but we couldn't connect to the database ( even with Sql Plus). We therefore downloaded Oracle 10g 10.2.04 Run-time client. With this installed, we were able to connect to via SQL Plus to the database. However, using the same Excel file and the following same VBA code.
    Set cn = New ADODB.Connection
    cn.Open ThisWorkbook.getDBCon()
    Public Function getDBCon()
    getDBCon = "Provider=OraOLEDB.Oracle;" & _
    "Data Source=MyOracleDB;" & _
    "User Id=" & getDBUser() & ";Password=" & getDBPss()
    End Function
    I get a "Provider Not Found error". The VBA code and file work perfect in XP 32-bit. It seems going over to Windows 64-bit has caused issues with the file's macro. I am looking for help assessing if I have more of an Oracle Client issue or a Microsoft ADO issue. Any input would be greatly appreciated. Thank You.

    @damorgan
    Yea agreed with Excel to Oracle comment. This is due to issues with global implementation of an ERP system and the disconnets between IT and Business. Therefore the business intelligence tables in oracle are most easily pulled and acted on by novice PC users via Excel. In the business, Excel is the standard tool novice non-IT people feel comfortable in to share and act on data. Most of these users have no IT knowledge whatsoever, so we create buttons and filters for them to query and then massage in Excel as they see fit.
    Having said that, still wondering if it's a ADO or Oracle Client issue. This is something beyond my knowledge. I wouldn't imagine it's the Visual Basic issue since this same file works in Windows XP. I am not in the position to just scrap Excel as the business relies on this in production and I am the only support. What could 64 bit vs 32 bit differences be having here? Thank You.

  • OraOLEDB.Oracle provider create connections (sessions).

    Hi all,
         I have Link server between oracle and MSSQL with following versions,
    Oracle – 10G
    MSSQL – SQL Server 2008 R2
    Link server provider=N'OraOLEDB.Oracle'
    After created link server then without actually doing any queries or anything oracle side create 100 or 120 connections (sessions) from this SQL server to oracle server. Any idea on this?
    Thanks
    Tharindu Dhaneenja

    Alright, so it's not that. It's possible the OLE DB provider isn't installed, depending on how you installed the Oracle client.
    This link has a little windows script that can list all the known OLE DB providers. That should tell you if its installed and SSIS isn't finding it, or if it's not installed at all. http://www.motobit.com/help/regedit/sa117.htm

  • Provider = OraOLEDB.Oracle - provider not found after Dev Install of O8i

    When I run my VB application and try to connect to the Oracle database using ADO and the
    Provider = OraOLEDB.Oracle
    I get the error message "Provider not found or is installed incorrectly."
    This is strange as I have installed the developer version of Oracle and I can connect to the database using SQLPLUS.
    Does anyone know what the problem could be?
    Thanks

    Hi Vincent,
    Here is what you are looking for.
    NOTE> Installing the 11.2.0.3 Oracle Provider for OLE DB from the Client Install Media Does Not Properly Register the Provider [ID 1380742.1]
    Bug:13417266 WHILE UPGRADING TO 11.2.0.3, INSTALLER FAILS TO REGISTER ORAOLEDB DLL
    Regards!
    Stefanie

  • Problem with setting oracle type parameter in viewobject query

    Hi There,
    I am facing a problem with JDev1013. I have a view that has JDBC positional parameters that are supposed to be in parameters for function like:
    SELECT x.day, x.special_exact_period_only
    FROM (
      SELECT x.day, x.special_exact_period_only
      FROM (
        SELECT
          x.day,
          rb.special_exact_period_only
      FROM TABLE (
        RentabilityPkg.findMarkerSlots(
          'start',
          ? /* dchannel */,
          NULL,
          ? /* resorts */,
          'special',
          NULL,
          ? /* code */,
          NULL,
          TRUNC(SYSDATE),
          TRUNC(SYSDATE + 365 * 2),
          NULL
      ) x
        JOIN resourcebase rb USING (rentabilitymanager_id)
        UNION
        SELECT
          x.day,
          rb.special_exact_period_only
        FROM TABLE (
          RentabilityPkg.findMarkerSlots(
            'start',
            ? /* dchannel */,
            NULL,
            ? /* resorts */,
            'composition',
            NULL,
            ? /* code */,
            NULL,
            TRUNC(SYSDATE),
            TRUNC(SYSDATE + 365 * 2),
            NULL
        ) x
        JOIN resourcebase rb USING (rentabilitymanager_id)
      )x
      ORDER BY x.day
    ) x
    WHERE ROWNUM <= 30now the JDBC positional parameters take our custom defined list type defined as:
    CREATE TYPE NumberList AS TABLE OF NUMBER;
    we are setting the parameter in the views with the help of oracle.sql.ARRAY class like:
       * Set parameters.
      public void setParams(Integer dchannelId, Integer[] resorts, String specialCode)
        try {
              System.out.println(this.getClass() + ".setParams()");
              ARRAY arrParam1 = ((NWSApplicationModule)getApplicationModule()).toSQLNumberList(Arrays.asList(resorts));
              ARRAY arrParam2 = ((NWSApplicationModule)getApplicationModule()).toSQLNumberList(Arrays.asList(resorts));
              System.out.println("arrParam1 - " + arrParam1);
              System.out.println("arrParam1 - " + arrParam1);
              System.out.println(this.getClass() + " ARRAY - " + arrParam1.getArray());
              System.out.println(this.getClass() + " -- " + arrParam1.length());
              System.out.println("arrParam2 - " + arrParam2);
              System.out.println("arrParam2 - " + arrParam2);
              System.out.println(this.getClass() + " ARRAY - " + arrParam2.getArray());
              System.out.println(this.getClass() + " -- " + arrParam2.length());
              Object[] params =
                   { dchannelId,
                        arrParam1,
                        specialCode,
                        dchannelId,
                        arrParam2,
                        specialCode
              setWhereClauseParams(params);
              System.out.println("DONE WITH " + this.getClass() + ".setParams()");
        catch(Exception ex)
              ex.printStackTrace(System.out);
      }the toSQLNumberList() method is defined in our App module baseclass as follows:
      public ARRAY toSQLNumberList(Collection coll)
           debug("toSQLNumberList()");
           DBTransaction txn = (DBTransaction)getTransaction();
           debug("txn - " + txn + " : " + txn.getClass());
           return NWSUtil.toSQLNumberList(coll, getConnection(txn));
      public static ARRAY toSQLNumberList(Collection c, Connection connection)
        //printTrace();
        debug("toSQLNumberList()");
        try
          ArrayDescriptor numberList = ArrayDescriptor.createDescriptor("NUMBERLIST", connection);
          NUMBER[] elements = new NUMBER[c == null ? 0 : c.size()];
          if (elements.length > 0 )
            Iterator iter = c.iterator();
            for (int i = 0; iter.hasNext(); i++)
              elements[i] = new NUMBER(iter.next().toString());
          return new ARRAY(numberList, connection, elements);
        catch (Exception ex)
          ex.printStackTrace();
          return null;
      protected Connection getConnection(DBTransaction dbTransaction)
        //return null;
        debug("Inside getConnection()");
        CallableStatement s = null;
        try
           * Getting Conenction in BC4J is dirty but its better
           * as otherwise we might end up coding with connections
           * and the Transaction Integrety will be
          s = dbTransaction.createCallableStatement("BEGIN NULL; END;", 0);
          debug("DOING s.getConnection()...");
          Connection conn = s.getConnection();
          debug("DONE WITH  s.getConnection()...");
          /*try
                throw new Exception("TEST");
           catch (Exception ex)
                ex.printStackTrace(System.out);
          debug("conn CLASS - " + conn.getClass());
          return conn;
        catch (Exception ex)
          ex.printStackTrace();
          return null;
        finally
          try { s.close(); }
          catch (Exception ex) {}
      }Whenever we try setting the parameters in view using setParams() and use this view to set the model of a java control it thorws the following exception :
    [2006-10-10 12:34:48,797 AWT-EventQueue-0 ERROR] JBO-28302: Piggyback write error
    oracle.jbo.PiggybackException: JBO-28302: Piggyback write error
         at oracle.jbo.common.PiggybackOutput.getPiggybackStream(PiggybackOutput.java:185)
         at oracle.jbo.common.JboServiceMessage.marshalRefs(JboServiceMessage.java:267)
         at oracle.jbo.server.remote.PiggybackManager.marshalServiceMessage(PiggybackManager.java:343)
         at oracle.jbo.server.remote.PiggybackManager.marshalServiceMessage(PiggybackManager.java:316)
         at oracle.jbo.server.remote.AbstractRemoteApplicationModuleImpl.processMessage(AbstractRemoteApplicationModuleImpl.java:2283)
         at oracle.jbo.server.ApplicationModuleImpl.doMessage(ApplicationModuleImpl.java:7509)
         at oracle.jbo.server.remote.AbstractRemoteApplicationModuleImpl.sync(AbstractRemoteApplicationModuleImpl.java:2221)
         at oracle.jbo.server.remote.ejb.ServerApplicationModuleImpl.doMessage(ServerApplicationModuleImpl.java:79)
         at oracle.jbo.server.ejb.SessionBeanImpl.doMessage(SessionBeanImpl.java:474)
         at sun.reflect.GeneratedMethodAccessor7.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:585)
         at com.evermind.server.ejb.interceptor.joinpoint.EJBJoinPointImpl.invoke(EJBJoinPointImpl.java:35)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:69)
         at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:69)
         at com.evermind.server.ejb.interceptor.system.TxBeanManagedInterceptor.invoke(TxBeanManagedInterceptor.java:53)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:69)
         at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:69)
         at com.evermind.server.ejb.StatefulSessionEJBObject.OC4J_invokeMethod(StatefulSessionEJBObject.java:840)
         at RemoteAMReservation_StatefulSessionBeanWrapper906.doMessage(RemoteAMReservation_StatefulSessionBeanWrapper906.java:286)
         at sun.reflect.GeneratedMethodAccessor63.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:585)
         at com.evermind.server.rmi.RmiMethodCall.run(RmiMethodCall.java:53)
         at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
         at java.lang.Thread.run(Thread.java:595)
    ## Detail 0 ##
    java.io.NotSerializableException: oracle.jdbc.driver.T4CConnection
         at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1075)
         at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1369)
         at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1341)
         at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1284)
         at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1073)
         at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1245)
         at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1069)
         at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1245)
         at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1069)
         at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:291)
         at oracle.jbo.common.SvcMsgResponseValues.writeObject(SvcMsgResponseValues.java:116)
         at sun.reflect.GeneratedMethodAccessor65.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:585)
         at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:890)
         at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1333)
         at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1284)
         at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1073)
         at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:291)
         at oracle.jbo.common.PiggybackOutput.getPiggybackStream(PiggybackOutput.java:173)
         at oracle.jbo.common.JboServiceMessage.marshalRefs(JboServiceMessage.java:267)
         at oracle.jbo.server.remote.PiggybackManager.marshalServiceMessage(PiggybackManager.java:343)
         at oracle.jbo.server.remote.PiggybackManager.marshalServiceMessage(PiggybackManager.java:316)
         at oracle.jbo.server.remote.AbstractRemoteApplicationModuleImpl.processMessage(AbstractRemoteApplicationModuleImpl.java:2283)
         at oracle.jbo.server.ApplicationModuleImpl.doMessage(ApplicationModuleImpl.java:7509)
         at oracle.jbo.server.remote.AbstractRemoteApplicationModuleImpl.sync(AbstractRemoteApplicationModuleImpl.java:2221)
         at oracle.jbo.server.remote.ejb.ServerApplicationModuleImpl.doMessage(ServerApplicationModuleImpl.java:79)
         at oracle.jbo.server.ejb.SessionBeanImpl.doMessage(SessionBeanImpl.java:474)
         at sun.reflect.GeneratedMethodAccessor7.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:585)
         at com.evermind.server.ejb.interceptor.joinpoint.EJBJoinPointImpl.invoke(EJBJoinPointImpl.java:35)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:69)
         at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:69)
         at com.evermind.server.ejb.interceptor.system.TxBeanManagedInterceptor.invoke(TxBeanManagedInterceptor.java:53)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:69)
         at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:69)
         at com.evermind.server.ejb.StatefulSessionEJBObject.OC4J_invokeMethod(StatefulSessionEJBObject.java:840)
         at RemoteAMReservation_StatefulSessionBeanWrapper906.doMessage(RemoteAMReservation_StatefulSessionBeanWrapper906.java:286)
         at sun.reflect.GeneratedMethodAccessor63.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:585)
         at com.evermind.server.rmi.RmiMethodCall.run(RmiMethodCall.java:53)
         at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
         at java.lang.Thread.run(Thread.java:595)This is a typical interaction between 2 server-side components (view-object and app module). Now the question is why is this exception thrown? Any answers?
    This application is one that we have migrated from 904 to 1013 and are trying to get it running in 3-tier.
    Regards,
    Anupam

    Sorry I missed out some semicolons, the script follws:
    -- The following TABLE was created to simulate the issue
    CREATE TABLE TEST_OBJECT
         ASSET_ID NUMBER,
         OBJECT_ID NUMBER,
         NAME VARCHAR2(50)
    INSERT INTO TEST_OBJECT VALUES(1,1,'AAA');
    INSERT INTO TEST_OBJECT VALUES(2,2,'BBB');
    INSERT INTO TEST_OBJECT VALUES(3,3,'CCC');
    COMMIT;
    SELECT * FROM TEST_OBJECT;
    -- The following TYPES was created to simulate the issue
    CREATE OR REPLACE
    TYPE DUTYRESULTOBJECTTAB AS TABLE OF DUTYRESULTOBJECT;
    CREATE OR REPLACE
    type DutyResultObject as object
    ( ASSET_ID number,
      OBJECT_ID number,
      NAME varchar2(150)
    -- The following PACKAGE N FUNCTION was created to simulate the issue
    CREATE OR REPLACE PACKAGE TESTOBJECTPKG
    IS
         FUNCTION OBJECTSEARCH(P_RESOURCE IN NUMBERLIST) RETURN DUTYRESULTOBJECTTAB;
    END;
    CREATE OR REPLACE PACKAGE BODY TESTOBJECTPKG
    IS
         FUNCTION OBJECTSEARCH(P_RESOURCE IN NUMBERLIST) RETURN DUTYRESULTOBJECTTAB
         IS
           BULKDUTYRESULTOBJECTTAB DUTYRESULTOBJECTTAB;
         BEGIN
           SELECT DUTYRESULTOBJECT(ASSET_ID, OBJECT_ID, NAME)
           BULK COLLECT INTO BULKDUTYRESULTOBJECTTAB
           FROM TEST_OBJECT;
           RETURN BULKDUTYRESULTOBJECTTAB;
         END;
    END;
    [\code]                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

  • Global transaction problem with JDriver/Oracle and Oracle XA

    We are haveing serious problems with Container Managed Transactions on Bea 6.1
    and Oracle with EJB having set "Required" for all methods. We have tried in vain
    to make it work with JDriver as well as OracleXAClient. Both fail at sometime
    during the execution throwing "Not called in cotext of global transaction" (with
    JDriver) OR "XAER_PROTO : Routine was invoked in an
    inproper context start() failed on resource 'OracleXAPool'" (this one with oracle
    XA).
    1.) Weblogic JDriver-XA:
    DatabaseMetaData metaData = dataSource.getJDBCConnection.getMetaData();
    ResultSet resultSet = metaData.getTables(null, null, tableName.toUpperCase(),
    new String[]{"TABLE"});
    This fails immmediately saying that it was not called from global transaction.
    Interesting thing is that with OracleXA, it doesnt say this exception at this
    check point.
    2) Oracle XA
    Okie, we couldnot read through the CLOB using it so for reading CLOB, we used
    direct jdbc connection and then did away with it. Now all next sql queries were
    executed against oracle pool using XA data source with OracleXAClient. But at
    some point we again ran into the problem "XAER_PROTO : Routine was invoked in
    an
    inproper context start() failed on resource 'OracleXAPool'"
    3 Oracle Thin Driver
    everything always works with it.

    AFAIR this issue was resoved by moving tx opreations out from non-tx
    methods.
    Regards,
    Slava
    "Apurb Kumar" <[email protected]> wrote in message
    news:[email protected]...
    Jawad,
    It would be nice if you can post the full stack trace error message. Didyou try moving to
    the latest service pack (sp2) for WLS6.1.
    Thanks,
    Jawad Mahmood wrote:
    Yes we had correctly set TXDataSource and let it to point to the right
    connection
    pool each time and it worked well with oracle thin driver but not whenwe switched
    the pool to JDriver or OracleXAClient. Note that we could aways confirmthat pool
    was successfully created alongwith we could retrieve connection from itvia TXDatSource,
    things gave problem after we attempted to do what i had mentioned in mylast posting.
    >>
    Also with JBoss 2.4.4 things work pretty well. So couldnt be our codeproblem.
    "Slava Imeshev" <[email protected]> wrote:
    Jawad,
    Did you set up TxDataSource?
    Regards,
    Slava Imeshev
    "Jawad Mahmood" <[email protected]> wrote in message
    news:[email protected]...
    We are haveing serious problems with Container Managed Transactionson
    Bea 6.1
    and Oracle with EJB having set "Required" for all methods. We havetried
    in vain
    to make it work with JDriver as well as OracleXAClient. Both fail atsometime
    during the execution throwing "Not called in cotext of global
    transaction"
    (with
    JDriver) OR "XAER_PROTO : Routine was invoked in an
    inproper context start() failed on resource 'OracleXAPool'" (this onewith
    oracle
    XA).
    1.) Weblogic JDriver-XA:
    DatabaseMetaData _metaData =
    _dataSource.getJDBCConnection.getMetaData();
    ResultSet resultSet = metaData.getTables(null, null,tableName.toUpperCase(),
    new String[]{"TABLE"});
    This fails immmediately saying that it was not called from globaltransaction.
    Interesting thing is that with OracleXA, it doesnt say this exceptionat
    this
    check point.
    2) Oracle XA
    Okie, we couldnot read through the CLOB using it so for reading CLOB,we
    used
    direct jdbc connection and then did away with it. Now all next sqlqueries
    were
    executed against oracle pool using XA data source with
    OracleXAClient.
    But
    at
    some point we again ran into the problem "XAER_PROTO : Routine wasinvoked
    in
    an
    inproper context start() failed on resource 'OracleXAPool'"
    3 Oracle Thin Driver
    everything always works with it.
    Apurb Kumar

Maybe you are looking for