Solved

java.sql.SQLException: ORA-01483

Posted on 2001-07-19
3
1,598 Views
Last Modified: 2010-08-05
Hi,

I was using Weblogic5.1 with Oracle8.1.5 as backend. The problem started when I shifted to Oracle8.1.7. Now I get the above mentioned exception and that too very randomly. The stack trace reads as follows:

javax.transaction.TransactionRolledbackException: Transaction TxC (5731069, xid = 995371835032_7310, timeout = 60, txState = Rolledback, root = null has been rolled back.Reason: Transaction rolled back due to beforeCompletion exception
.Nested exception : java.sql.SQLException: ORA-01483: invalid length for DATE or NUMBER bind variable

      at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:168)
      at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:208)
      at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:543)
      at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1405)
      at oracle.jdbc.ttc7.TTC7Protocol.executeFetch(TTC7Protocol.java:729)
      at oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.java:1452)
      at oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStatement.java:1371)
      at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1900)
      at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:363)
      at weblogic.jdbcbase.jts.Statement.executeUpdate(Statement.java:316)
      at com.satyam.admin.UserPSWebLogic_CMP_RDBMS.update(UserPSWebLogic_CMP_RDBMS.java:431)
      at com.satyam.admin.UserPSWebLogic_CMP_RDBMS.store(UserPSWebLogic_CMP_RDBMS.java:342)
      at weblogic.ejb.internal.EntityEJBContext.store(EntityEJBContext.java:192)
      at weblogic.ejb.internal.EntityEJBContext.beforeCompletion(EntityEJBContext.java:224)
      at weblogic.jts.internal.CoordinatorImpl.notifyBefore(CoordinatorImpl.java:627)
      at weblogic.jts.internal.CoordinatorImpl.prepare(CoordinatorImpl.java:421)
      at weblogic.jts.internal.CoordinatorImpl.commit(CoordinatorImpl.java:372)
      at weblogic.jts.internal.TxContext.commit(TxContext.java:255)
      at weblogic.ejb.internal.StatelessEJBObject.postInvokeOurTx(StatelessEJBObject.java:88)
      at weblogic.ejb.internal.BaseEJBObject.postInvoke(BaseEJBObject.java:795)
      at com.satyam.session.WorkOrderSessionBeanEOImpl.getUsersPrimaryInfo(WorkOrderSessionBeanEOImpl.java:4742)
      at com.satyam.session.WorkOrderSessionBeanEOImpl_WLSkel.invoke(WorkOrderSessionBeanEOImpl_WLSkel.java:2740)
      at weblogic.rmi.extensions.BasicServerObjectAdapter.invoke(BasicServerObjectAdapter.java:347)
      at weblogic.rmi.extensions.BasicRequestHandler.handleRequest(BasicRequestHandler.java:86)
      at weblogic.rmi.extensions.BasicRequestDispatcher.dispatch(BasicRequestDispatcher.java:82)
      at weblogic.rmi.internal.ServerRequest.sendOneWay(ServerRequest.java:73)
      at weblogic.rmi.internal.ServerRequest.sendReceive(ServerRequest.java:77)
      at com.satyam.session.WorkOrderSessionBeanEOImpl_WLStub.getUsersPrimaryInfo(WorkOrderSessionBeanEOImpl_WLStub.java:7833)
      at com.satyam.session.WorkOrderSessionBeanEOImpl_ServiceStub.getUsersPrimaryInfo(WorkOrderSessionBeanEOImpl_ServiceStub.java:5331)
      at jsp_servlet._Projects._workorder._ProjectInitiation._jspService(_ProjectInitiation.java:473)
      at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
      at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:120)
      at weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImpl.java:915)
      at weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImpl.java:879)
      at weblogic.servlet.internal.ServletContextManager.invokeServlet(ServletContextManager.java:269)
      at weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.java:365)
      at weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:253)
      at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:129)
--------------- nested within: ------------------
weblogic.utils.NestedRuntimeException: Error writing 'Context hashcode: '7769830', primaryKey: 'com.satyam.utility.UserPK@10f', flags: '', needsRefresh: 'false', needsFlush: 'true', pinned: 'true', ejbObject hashcode: '2088679', bean hashcode: '6495445'' to persistent store - with nested exception:
[java.sql.SQLException: ORA-01483: invalid length for DATE or NUMBER bind variable
]
      at weblogic.ejb.internal.EntityEJBContext.beforeCompletion(EntityEJBContext.java:226)
      at weblogic.jts.internal.CoordinatorImpl.notifyBefore(CoordinatorImpl.java:627)
      at weblogic.jts.internal.CoordinatorImpl.prepare(CoordinatorImpl.java:421)
      at weblogic.jts.internal.CoordinatorImpl.commit(CoordinatorImpl.java:372)
      at weblogic.jts.internal.TxContext.commit(TxContext.java:255)
      at weblogic.ejb.internal.StatelessEJBObject.postInvokeOurTx(StatelessEJBObject.java:88)
      at weblogic.ejb.internal.BaseEJBObject.postInvoke(BaseEJBObject.java:795)
      at com.satyam.session.WorkOrderSessionBeanEOImpl.getUsersPrimaryInfo(WorkOrderSessionBeanEOImpl.java:4742)
      at com.satyam.session.WorkOrderSessionBeanEOImpl_WLSkel.invoke(WorkOrderSessionBeanEOImpl_WLSkel.java:2740)
      at weblogic.rmi.extensions.BasicServerObjectAdapter.invoke(BasicServerObjectAdapter.java:347)
      at weblogic.rmi.extensions.BasicRequestHandler.handleRequest(BasicRequestHandler.java:86)
      at weblogic.rmi.extensions.BasicRequestDispatcher.dispatch(BasicRequestDispatcher.java:82)
      at weblogic.rmi.internal.ServerRequest.sendOneWay(ServerRequest.java:73)
      at weblogic.rmi.internal.ServerRequest.sendReceive(ServerRequest.java:77)
      at com.satyam.session.WorkOrderSessionBeanEOImpl_WLStub.getUsersPrimaryInfo(WorkOrderSessionBeanEOImpl_WLStub.java:7833)
      at com.satyam.session.WorkOrderSessionBeanEOImpl_ServiceStub.getUsersPrimaryInfo(WorkOrderSessionBeanEOImpl_ServiceStub.java:5331)
      at jsp_servlet._Projects._workorder._ProjectInitiation._jspService(_ProjectInitiation.java:473)
      at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
      at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:120)
      at weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImpl.java:915)
      at weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImpl.java:879)
      at weblogic.servlet.internal.ServletContextManager.invokeServlet(ServletContextManager.java:269)
      at weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.java:365)
      at weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:253)
      at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:129)
; nested exception is:
      java.sql.SQLException: ORA-01483: invalid length for DATE or NUMBER bind variable

java.sql.SQLException: ORA-01483: invalid length for DATE or NUMBER bind variable

      at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:168)
      at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:208)
      at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:543)
      at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1405)
      at oracle.jdbc.ttc7.TTC7Protocol.executeFetch(TTC7Protocol.java:729)
      at oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.java:1452)
      at oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStatement.java:1371)
      at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1900)
      at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:363)
      at weblogic.jdbcbase.jts.Statement.executeUpdate(Statement.java:316)
      at com.satyam.admin.UserPSWebLogic_CMP_RDBMS.update(UserPSWebLogic_CMP_RDBMS.java:431)
      at com.satyam.admin.UserPSWebLogic_CMP_RDBMS.store(UserPSWebLogic_CMP_RDBMS.java:342)
      at weblogic.ejb.internal.EntityEJBContext.store(EntityEJBContext.java:192)
      at weblogic.ejb.internal.EntityEJBContext.beforeCompletion(EntityEJBContext.java:224)
      at weblogic.jts.internal.CoordinatorImpl.notifyBefore(CoordinatorImpl.java:627)
      at weblogic.jts.internal.CoordinatorImpl.prepare(CoordinatorImpl.java:421)
      at weblogic.jts.internal.CoordinatorImpl.commit(CoordinatorImpl.java:372)
      at weblogic.jts.internal.TxContext.commit(TxContext.java:255)
      at weblogic.ejb.internal.StatelessEJBObject.postInvokeOurTx(StatelessEJBObject.java:88)
      at weblogic.ejb.internal.BaseEJBObject.postInvoke(BaseEJBObject.java:795)
      at com.satyam.session.WorkOrderSessionBeanEOImpl.getUsersPrimaryInfo(WorkOrderSessionBeanEOImpl.java:4742)
      at com.satyam.session.WorkOrderSessionBeanEOImpl_WLSkel.invoke(WorkOrderSessionBeanEOImpl_WLSkel.java:2740)
      at weblogic.rmi.extensions.BasicServerObjectAdapter.invoke(BasicServerObjectAdapter.java:347)
      at weblogic.rmi.extensions.BasicRequestHandler.handleRequest(BasicRequestHandler.java:86)
      at weblogic.rmi.extensions.BasicRequestDispatcher.dispatch(BasicRequestDispatcher.java:82)
      at weblogic.rmi.internal.ServerRequest.sendOneWay(ServerRequest.java:73)
      at weblogic.rmi.internal.ServerRequest.sendReceive(ServerRequest.java:77)
      at com.satyam.session.WorkOrderSessionBeanEOImpl_WLStub.getUsersPrimaryInfo(WorkOrderSessionBeanEOImpl_WLStub.java:7833)
      at com.satyam.session.WorkOrderSessionBeanEOImpl_ServiceStub.getUsersPrimaryInfo(WorkOrderSessionBeanEOImpl_ServiceStub.java:5331)
      at jsp_servlet._Projects._workorder._ProjectInitiation._jspService(_ProjectInitiation.java:473)
      at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
      at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:120)
      at weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImpl.java:915)
      at weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImpl.java:879)
      at weblogic.servlet.internal.ServletContextManager.invokeServlet(ServletContextManager.java:269)
      at weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.java:365)
      at weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:253)
      at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:129)

I want to stress that there is no problem as long as I use Oracle8.1.5. Please suggest a solution.

Regards
SV1040
0
Comment
Question by:sv1040
3 Comments
 
LVL 3

Expert Comment

by:UsamaMunir
ID: 6298071
The difference seems to be a problem between the client and the Server Character Sets, Why don't u try and set the character set of the 8.1.7 server similiar to 8.1.5 server

I hope that Helps

Regards
UsamaMunir
0
 

Author Comment

by:sv1040
ID: 6298335
Hi,

Thanks for the prompt reply. I just traced the problem. Actually I had uploaded an image of huge size to one of the tables of Oracle8.1.7 database using the application. The problem was while reading data from this table. I deleted the particular row and the problem got solved.

Regards
SV1040
0
 
LVL 1

Accepted Solution

by:
Moondancer earned 0 total points
ID: 7034593
100 points refunded to you this question closed, since you found/posted your own solution.  Moved to our PAQ at zero points.

Thanks,
Moondancer - EE Moderator

P.S.  Please click your Member Profile, expand View Question History to navigate and update all your open and locked questions.
0

Featured Post

PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

Join & Write a Comment

Suggested Solutions

Why doesn't the Oracle optimizer use my index? Querying too much data Most Oracle developers know that an index is useful when you can use it to restrict your result set to a small number of the total rows in a table. So, the obvious side…
This article started out as an Experts-Exchange question, which then grew into a quick tip to go along with an IOUG presentation for the Collaborate confernce and then later grew again into a full blown article with expanded functionality and legacy…
This video shows how to set up a shell script to accept a positional parameter when called, pass that to a SQL script, accept the output from the statement back and then manipulate it in the Shell.
This video shows how to Export data from an Oracle database using the Datapump Export Utility.  The corresponding Datapump Import utility is also discussed and demonstrated.

708 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

15 Experts available now in Live!

Get 1:1 Help Now