Java.sql.SQLRecoverableException when execute procedure

Hi all,
Exception is as follows when i execute procedure, it's running on Studio Edition Version 11.1.2.0.0 and Oracle Database 10g Enterprise Edition Release 10.2.0.3.0
java.sql.SQLRecoverableException:java.sql.SQLRecoverableException: 无法从套接字读取更多的数据
     at org.apache.myfaces.trinidad.component.MethodExpressionMethodBinding.invoke(MethodExpressionMethodBinding.java:51)
     at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
     at org.apache.myfaces.trinidad.component.UIXCommand.broadcast(UIXCommand.java:190)
     at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:787)
     at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1252)
     at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._invokeApplication(LifecycleImpl.java:965)
     at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:346)
     at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:204)
     at javax.faces.webapp.FacesServlet.service(FacesServlet.java:312)
     at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
     at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
     at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)
     at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
     at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
     at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:173)
     at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
     at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:121)
     at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:468)
     at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)
     at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:468)
     at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:293)
     at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:199)
     at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
     at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
     at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:111)
     at java.security.AccessController.doPrivileged(Native Method)
     at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:313)
     at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:413)
     at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:94)
     at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:161)
     at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
     at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
     at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:136)
     at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
     at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
     at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
     at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3715)
     at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)
     at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
     at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
     at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277)
     at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)
     at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)
     at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
     at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
Caused by: com.faw_qm.dms.lmp.core.exception.QMLMPException
faw qm-tds nestedException is:java.sql.SQLRecoverableException:java.sql.SQLRecoverableException: 无法从套接字读取更多的数据
     at com.faw_qm.dms.lmp.core.util.QMDBUtils.invokeProcWithReturn(QMDBUtils.java:932)
     at com.faw_qm.dms.lmp.view.wh.md.Wh04MB.doBatchSave(Wh04MB.java:314)
     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(Unknown Source)
     at com.sun.el.MethodExpressionImpl.invoke(Unknown Source)
     at org.apache.myfaces.trinidad.component.MethodExpressionMethodBinding.invoke(MethodExpressionMethodBinding.java:46)
     ... 44 more
java code is as follows:
CallableStatement proc1 = dbt.createCallableStatement(procString, -1);
try {
for(int i = 0;i<inParamObjs.length;i++){
proc1.setObject(i+1, inParamObjs);
for(int i = 0;i<returnTypes.length;i++){
proc1.registerOutParameter(i+1+paramLength, returnTypes[i]);
proc1.execute();
thanks in advance.

Hi frank,
at com.faw_qm.dms.lmp.core.util.QMDBUtils.invokeProcWithReturn(QMDBUtils.java:932)
CallableStatement proc1 = dbt.createCallableStatement(procString, -1);
try {
for(int i = 0;i<inParamObjs.length;i++){
proc1.setObject(i+1, inParamObjs);
for(int i = 0;i<returnTypes.length;i++){
proc1.registerOutParameter(i+1+paramLength, returnTypes);
proc1.execute(); ( QMDBUtils.java:932,error in this )

Similar Messages

  • SetQueryTimeout throws java.sql.SQLRecoverableException

    Hi,
    We are facing few issues while using setQueryTimeout in the Statement Object. setQueryTimeout is not throwing the SQLException: User requested cancel operation. instead it retrieves the resultset and iterates inside the while loop, for 10 records the loop works fine and for the 11th iteration it throws the following exception,
    java.sql.SQLRecoverableException: No more data to read from socket
         at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:101)
         at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:112)
         at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:173)
         at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:229)
         at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:403)
         at oracle.jdbc.driver.T4CMAREngine.unmarshalUB1(T4CMAREngine.java:1042)
         at oracle.jdbc.driver.T4CMAREngine.unmarshalSB1(T4CMAREngine.java:999)
         at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:584)
         at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:183)
         at oracle.jdbc.driver.T4CStatement.fetch(T4CStatement.java:1000)
         at oracle.jdbc.driver.OracleResultSetImpl.close_or_fetch_from_next(OracleResultSetImpl.java:314)
         at oracle.jdbc.driver.OracleResultSetImpl.next(OracleResultSetImpl.java:228)
         at weblogic.jdbc.wrapper.ResultSet_oracle_jdbc_driver_OracleResultSetImpl.next(Unknown Source)
         at com.datasource.ex.Simple.DB(Simple.java:45)
         at com.datasource.ex.DBCheck.doGet(DBCheck.java:27)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
         at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
         at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
         at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
         at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
         at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3496)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
         at weblogic.security.service.SecurityManager.runAs(Unknown Source)
         at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2180)
         at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2086)
         at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1406)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    I'm using following softwares,
    Java version- JDK1.6
    server : weblogic version 10.3.0.0
    database : Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
    Driver : ojdbc14
    I had tried changing the driver file to ojdbc6 and tried it out but same result. The setQueryTimeout is not working as expected when placed inside the Weblogic server. Could anyone help us in this regard.

    There is no explicit question, but several problems.
    1 - The stack traces have nothing to do with WebLogic so this forum is not the one you need,
    but I'll try to help anyway... :)
    2 - Don't use finalize() methods except when absolutely necessary. They kill JVM performance.
    3 - The JDBC spec shows a specific hierarchy of it's objects and they should be closed in a bottom-up
    order, but you don't know the order or when finalize() methods will run, so if you close the connection
    before closing it's statements, those may throw exceptions if you close them later. Strictly, you only
    need to close the connection, and by spec, that will clsoe all it's statements automatically, and those
    will automatically close all their result sets.
    Ideally you should always close JDBC objects ASAP. Then you can nullify them, and if you must
    have a finalize() method, have it check if the object is null, and do nothing if it is (it's already been
    closed).
    HTH,
    Joe

  • Java.sql.SQLRecoverableException: Closed Connection

    code in java :-V(JDeveloper)
    for(int i=0; i<result.size(); i++){
    OpportunityData OPPORTUNITY_NAME = result.get(i); --------> I am able to get the results displayed in console
    service.connMgr = ConnectionManager.getConnectionManager();
    System.out.println("Got the connection to the database"); -------> it displays this, I got the connection to DB
    service.complete = new CallableStatementDAO("test2", "UpdateAAA", "OPPORTUNITY_NAME"); -----> this inturn calls CallableStatementDAO cstms.execute();
    backend :- (PL/SQL)
    wrote package, body, procedure and the key line is below :-
    insert into table_table (OPPORTUNITY_NAME) VALUES((OPPORUNITY_NAME));
    I checked if connection is usable and it returns True..it does return True
    CallableStatementDAO
    public void callProcedure(String value) throws SQLException {
    if (paramNames != null) {
    cstmt.setString(paramName, value);
    cstmt.execute();
    error message :-
    java.sql.SQLRecoverableException: Closed Connection
         at oracle.jdbc.driver.OracleStatement.ensureOpen(OracleStatement.java:4017)
         at oracle.jdbc.driver.OracleCallableStatement.execute(OracleCallableStatement.java:4705)
         at oracle.jdbc.driver.OraclePreparedStatementWrapper.execute(OraclePreparedStatementWrapper.java:1374)
         at dao.CallableStatementDAO.callProcedure(CallableStatementDAO.java:62)
         at integration.IntegrationService.main(IntegrationService.java:194)
    Process exited with exit code 0.

    java.sql.SQLRecoverableException: Closed Connection: OraclePooledConnection.getConnection() - SQLException Ocurred:Closed Connection
         at oracle.jdbc.pool.OraclePooledConnection.getConnection(OraclePooledConnection.java:326)
         at dao.ConnectionManager.releaseConnection(ConnectionManager.java:72)
         at dao.CallableStatementDAO.finalize(CallableStatementDAO.java:82)
         at java.lang.ref.Finalizer.invokeFinalizeMethod(Native Method)
         at java.lang.ref.Finalizer.runFinalizer(Finalizer.java:83)
         at java.lang.ref.Finalizer.access$100(Finalizer.java:14)
         at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:160)
    java.sql.SQLRecoverableException: Closed Connection: OraclePooledConnection.getConnection() - SQLException Ocurred:Closed Connection
         at oracle.jdbc.pool.OraclePooledConnection.getConnection(OraclePooledConnection.java:326)
         at dao.ConnectionManager.releaseConnection(ConnectionManager.java:72)
         at dao.CallableStatementDAO.finalize(CallableStatementDAO.java:82)
         at java.lang.ref.Finalizer.invokeFinalizeMethod(Native Method)
         at java.lang.ref.Finalizer.runFinalizer(Finalizer.java:83)
         at java.lang.ref.Finalizer.access$100(Finalizer.java:14)
         at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:160)
    java.sql.SQLRecoverableException: Closed Connection: OraclePooledConnection.getConnection() - SQLException Ocurred:Closed Connection
         at oracle.jdbc.pool.OraclePooledConnection.getConnection(OraclePooledConnection.java:326)
         at dao.ConnectionManager.releaseConnection(ConnectionManager.java:72)
         at dao.CallableStatementDAO.finalize(CallableStatementDAO.java:82)
         at java.lang.ref.Finalizer.invokeFinalizeMethod(Native Method)
         at java.lang.ref.Finalizer.runFinalizer(Finalizer.java:83)
         at java.lang.ref.Finalizer.access$100(Finalizer.java:14)
         at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:160)
    java.sql.SQLRecoverableException: Closed Connection: OraclePooledConnection.getConnection() - SQLException Ocurred:Closed Connection
         at oracle.jdbc.pool.OraclePooledConnection.getConnection(OraclePooledConnection.java:326)
         at dao.ConnectionManager.releaseConnection(ConnectionManager.java:72)
         at dao.CallableStatementDAO.finalize(CallableStatementDAO.java:82)
         at java.lang.ref.Finalizer.invokeFinalizeMethod(Native Method)
         at java.lang.ref.Finalizer.runFinalizer(Finalizer.java:83)
         at java.lang.ref.Finalizer.access$100(Finalizer.java:14)
         at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:160)

  • Java.sql.SqlRecoverableException error while querying the cube

    Hi
    I get the following error when I try to query the cube from a Java program
    java.sql.SqlRecoverableException: no more data to read from the socket.
    This error occurs sometimes and sometimes it does not occur.
    We observed that if many people simultaneously try to query the cube the error crops up.
    Is this a bug or is there a solution or a method to deal with this sort of situation

    That sounds like the connection to the database is not there, or was dropped. Check that you are not maxed out on the number of processes.

  • Oracle error: java.sql.sqlrecoverableException: Closed Connection

    need help on this closed connection
    getting oracle error: java.sql.sqlrecoverableException: Closed Connection when running a java application using tomcat api to oracle 11g database EE 11.2.0.3.0 on windows 2008 R2
    The process is reading data from an Oracle database using user_sdo_geom_metadata , memory allocated to DB is 5GB, java pool size 1G allocated , below is the code which gets data from Oracle
    <NamedDataSourceDefinition:NamedDataSourceDefinition xmlns:NamedDataSourceDefinition="http://www.mapinfo.com/mxp" xmlns="http://www.mapinfo.com/mxp" xmlns:gml="http://www.opengis.net/gml"xmlns:ns2="http://www.mapinfo.com/midev/service/common/v1" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v1="http://www.mapinfo.com/midev/service/namedresource/v1"version="MXP_WorkSpace_1_5"> 
    <ConnectionSet/> 
    <DataSourceDefinitionSet> 
    <DBDataSourceDefinition id="TXLANDMARKS"> 
    <DataSourceName>txlandmarks</DataSourceName> 
    <ConnectionMember> 
    <InlineDBConnection dbType="oracle"> 
    <JDBCDriverParameters> 
    <JDBCUrl>jdbc:oracle:thin:@NOIORAENT2K8-64:1521:FMETEST</JDBCUrl> 
    <DriverPropertySet> 
    <Property name="user" value="NOIDADATADEV"/> 
    <Property name="password" value="mndata"/>
    </DriverPropertySet>
    </JDBCDriverParameters>
    </InlineDBConnection>
    </ConnectionMember>
    <DBTable owner="NOIDADATADEV" useQuotes="true">TXLANDMARKS</DBTable>
    </DBDataSourceDefinition>
    </DataSourceDefinitionSet>
    <DataSourceRef ref="TXLANDMARKS"/>
    </NamedDataSourceDefinition:NamedDataSourceDefinition>
    Both the machines can ping to each other successfully, no firewall exists between them, these are connection setting been used in pooling-datasource-factory.properties
    poolingDataSourceFactoryClass=com.mapinfo.midev.dbms.jdbc.TomcatDataSourceFactory
    # what follows are properties specific to com.mapinfo.midev.dbms.jdbc.TomcatDataSourceFactory
    # defaultAutoCommit - the default auto commit state of the connection. if
    # not set the assumes the driver default
    # defaultAutoCommit =
    # (int) The maximum number of active connections that can be allocated from # this pool at the same time. The default value is 20
    maxActive = 10
    # (int) The maximum number of connections that should be kept in the pool at # all times. Default value is maxActive. Idle connections are checked # periodically (if enabled) and connections that been idle for longer than
    # minEvictableIdleTimeMillis will be released.
    maxIdle = 10
    # (int) The minimum number of established connections that should be kept in  the pool at all times. The connection pool can shrink below this number if # validation queries fail. Default value is 10
    minIdle = 5
    # (int)The initial number of connections that are created when the pool is # started. Default value is 10
    initialSize = 5
    # (int) The maximum number of milliseconds that the pool will wait (when # there are no available connections) for a connection to be returned before # throwing an exception. Default value is 30000 (30 seconds)
    # maxWaitMillis = 30000
    # (int) The number of milliseconds to sleep between runs of the idle # connection validation/cleaner thread. This value should not be set under 1
    # second. It dictates how often we check for idle, abandoned connections,
    # and how often we validate idle connections. The default value is 5000
    # (5 seconds).
    # timeBetweenEvictionRunsMillis = 5000
    # (int) The minimum amount of time an object may sit idle in the pool before
    # it is eligible for eviction. The default value is 60000 (60 seconds).
    # minEvictableIdleTimeMillis = 60000
    # (boolean) Flag to remove abandoned connections if they exceed the
    # removeAbandonedTimout. If set to true a connection is considered abandoned
    # and eligible for removal if it has been in use longer than the
    # removeAbandonedTimeout Setting this to true can recover db connections
    # from applications that fail to close a connection. See also
    # logAbandoned The default value is false.
    # removeAbandoned = false
    # (int) Timeout in seconds before an abandoned(in use) connection can be
    # removed. The default value is 60 (60 seconds). The value should be set to
    # the longest running query your applications might have.
    # removeAbandonedTimeout = 60
    # (boolean) Flag to log stack traces for application code which abandoned a
    # Connection. Logging of abandoned Connections adds overhead for every
    # Connection borrow because a stack trace has to be generated. The default
    # value is false.
    # logAbandoned = false
    # (long) Time in milliseconds to keep this connection. When a connection is
    # returned to the pool, the pool will check to see if the now
    # - time-when-connected > maxAge has been reached, and if so, it closes the
    # connection rather than returning it to the pool. The default value is 0,
    # which implies that connections will be left open and no age check will be
    # done upon returning the connection to the pool.
    # maxAgeMillis = 0

    Hi,
    I understand that you have raised a SR for this issue which is being worked upon by our team.
    Additionally, please note that the "Closed connection" error typically happens because a timeout parameter of some sort timed out the connection. This could be a parameter specified in your datasource, in your application code, or network (such as a firewall).
    You may also want to -
    1.  check your database to be sure it is not timing out connections.
    2.  Make sure your network is running efficiently and that it can provide fast connections,
    3. Check your Java Virtual Machine (JVM) Code Cache For Oracle Enterprise Data Quality for any memory related issues
    Thanks,
    Shwet

  • Exception in thread "main" java.sql.SQLRecoverableException: Io exception:

    When applying the 6678700 (12.1.1) Upgrade patch i am getting the below error.
    Raised Sev 2 SR with Oracle and they requested to change the following following paramter and bounce the DB as well Listener and re-start the patch. Did the same but no luck. Please let us know if anyone faced similar issue and fix for this issue
    Edit the sqlnet.ora and set the parameter:
    SQLNET.INBOUND_CONNECT_TIME=0
    Edit the listener.ora and set the parameter
    connect_timeout_ = 0
    ============================================================================================================================================
    adjava oracle.apps.ad.worker.AdJavaWorker "(DESCRIPTION=(LOAD_BALANCE=YES)(FAILOVER=YES)(ADDRESS_LIST=(ADDRESS=(PROTOCOL=tcp)(HOST=ihr45r)(PORT=31101)))(CONN
    ECT_DATA=(SID=IHR45R)))" APPS ***** thin 4 /home/apps/ora_hr/IHR45R/apps/apps_st/appl/admin/adUtilMapNew.txt
    Copyright (c) 2002 Oracle Corporation
    Redwood Shores, California, USA
    AD Java
    Version 12.0.0
    NOTE: You may not use this utility for custom development
    unless you have written permission from Oracle Corporation.
    Reading product information from file...
    Reading language and territory information from file...
    Reading language information from applUS.txt ...
    Temporarily resetting CLASSPATH to:
    "/home/apps/ora_hr/IHR45R/apps/apps_st/appl/ad/12.0.0/java/adjava.zip:/home/apps/ora_hr/IHR45R/apps/tech_st/10.1.3/appsutil/jdk/lib/dt.jar:/home/apps/ora_h
    r/IHR45R/apps/tech_st/10.1.3/appsutil/jdk/lib/tools.jar:/home/apps/ora_hr/IHR45R/apps/tech_st/10.1.3/appsutil/jdk/jre/lib/rt.jar:/home/apps/ora_hr/IHR45R/app
    s/apps_st/comn/java/lib/appsborg.zip:/home/apps/ora_hr/IHR45R/apps/tech_st/10.1.2/forms/java:/home/apps/ora_hr/IHR45R/apps/tech_st/10.1.2/forms/java/frmall.j
    ar:/home/apps/ora_hr/IHR45R/apps/tech_st/10.1.2/jlib/ewt3.jar:/home/apps/ora_hr/IHR45R/apps/tech_st/10.1.2/j2ee/OC4J_BI_Forms/applications/formsapp/formsweb/
    WEB-INF/lib/frmsrv.jar:/home/apps/ora_hr/IHR45R/apps/apps_st/comn/java/classes"
    Calling /home/apps/ora_hr/IHR45R/apps/tech_st/10.1.3/appsutil/jdk/jre/bin/java ...
    Exception in thread "main" java.sql.SQLRecoverableException: Io exception: Broken pipe
    at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:101)
    at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:133)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:199)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:263)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:521)
    at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:418)
    at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:510)
    at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:203)
    at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:33)
    at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:510)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at oracle.apps.ad.worker.AdJavaWorker.getAppsConnection(AdJavaWorker.java:1036)
    at oracle.apps.ad.worker.AdJavaWorker.main(AdJavaWorker.java:276)
    Caused by: java.net.SocketException: Broken pipe
    at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:103)
    at java.net.SocketOutputStream.write(SocketOutputStream.java:147)
    at oracle.net.ns.DataPacket.send(DataPacket.java:150)
    at oracle.net.ns.NetOutputStream.flush(NetOutputStream.java:180)
    at oracle.net.ns.NetInputStream.getNextPacket(NetInputStream.java:169)
    at oracle.net.ns.NetInputStream.read(NetInputStream.java:117)
    at oracle.net.ns.NetInputStream.read(NetInputStream.java:92)
    ============================================================================================================================================
    Thanks and Regards,
    Jagadeesha

    Hi ,
    Thanks for our prompt response.
    After following Oracle Recommendation same error getting no improvement.
    Below is the alert log error.
    ================================================================================================
    Fatal NI connect error 12170.
    VERSION INFORMATION:
    TNS for IBM/AIX RISC System/6000: Version 11.2.0.3.0 - Production
    TCP/IP NT Protocol Adapter for IBM/AIX RISC System/6000: Version 11.2.0.3.0 - Production
    Oracle Bequeath NT Protocol Adapter for IBM/AIX RISC System/6000: Version 11.2.0.3.0 - Production
    Time: 01-NOV-2012 11:02:37
    Tracing not turned on.
    Tns error struct:
    ns main err code: 12535
    TNS-12535: TNS:operation timed out
    ns secondary err code: 12606
    nt main err code: 0
    nt secondary err code: 0
    nt OS err code: 0
    Client address: (ADDRESS=(PROTOCOL=tcp)(HOST=10.16.0.194)(PORT=61100))
    WARNING: inbound connection timed out (ORA-3136)
    Thu Nov 01 11:02:45 2012
    ==============================================================================================
    Let me know how to check the processes we have 8 CPU and running with distrubed mode with 32 worker with each server 16.
    Let me know what i need to check in the /etc/hosts file.
    Thanks,
    Jagadeesha

  • Error "java.sql.SQLRecoverableException: No more data to read from socket"

    Hi,
    We are getting the error "java.sql.SQLRecoverableException: No more data to read from socket" while we do a check print for our Disaster Recovery (DR) server. It was working fine in the production. There is no issue with the connectivity or printer as we are able to print to the printer.
    Any input on this would be highly appreciated.
    Thanks in Advance.

    Please post the details of the application release, database version and OS.
    We are getting the error "java.sql.SQLRecoverableException: No more data to read from socket" while we do a check print for our Disaster Recovery (DR) server. It was working fine in the production. There is no issue with the connectivity or printer as we are able to print to the printer.Please see these docs.
    Oracle Applications 12.1.3 Upgrade Patch 9239090 Failed While Invoking Utility Wfxload - java.sql.SQLRecoverableException: No more data to read from socket [ID 1193744.1]
    Error While Creating PO From Sourcing: Java.Sql.SQLRecoverableException: No More Data To Read From Socket [ID 1356792.1]
    Adgendbc Fails With Database Connection Failure [ID 1302708.1]
    Getting Exception Error While Approving Objectives From Manager Self Service [ID 1331535.1]
    "No more data to read from socket" Exception when Running Create Settlement Batches [ID 1437170.1]
    Thanks,
    Hussein

  • Error ORA-03113 when execute procedure via OEM

    Hi All,
    I got error messages
    ORA-03113: end-of-file on communication channel
    ERROR at line 1:
    ORA-03114: not connected to ORACLE
    when execute procedure via Oracle Enterprise Manager
    Who do you know what 's the problem and how can I resolves ?
    Thanks,
    Mcka

    Solution Description:
    =====================
    The ORA-3113 error is a general error reported by Oracle client tools,
    which signifies that they cannot communicate with the oracle shadow
    process. As it is such a general error more information must be collected
    to help determine what has happened.
    This short article describes what information to collect for an
    ORA-3113 error when the Oracle server is on a Unix platform.
    General Issues:
    ===============
    1) Is it only one tool that encounters the error or
    do you get an ORA-3113 from any tool doing a similar operation?
    If the problem reproduces in SQL*Plus, use this in all tests
    below.
    2) Check if the problem is just restricted to:
    [ ] One particular UNIX user,
    [ ] Any UNIX user
    or [ ] Any UNIX user EXCEPT as the Oracle user.
    3) Check if the problem is just restricted to:
    [ ] One particular ORACLE logon
    or [ ] Any ORACLE logon that has access to the
    relevant tables.
    4) If you have a client-server configuration does this occur from:
    [ ] Any client
    [ ] Just one particular client
    or [ ] Just one group of clients ?
    If so what do these clients have in common ?
    Eg: Software release .
    5) Do you have a second server or database version where the
    same operation works correctly?

  • Java.security.AccessControlException when executing java from the DB

    Hello
    I'm running a Oracle 10.1.0.3.0 on Linux
    I'm having trouble with executing some java code from the DB.
    I created following java stored procedure used to create the directory given by the parameter
    package be.vlaamsparlement.dis.os_commands;
    import java.io.*;
    import java.lang.*;
    import java.sql.*;
    import java.util.*;
    public class ManageOSDirectory {
    public static String createDir(String directoryName) throws Exception
    if ((new File(directoryName)).mkdirs())
    { return ("TRUE");}
    else
    { return ("FALSE");}
    Wrapped it in a pl/sql procedure an execute it as follows under DB schema DIS :
    begin
    declare
    b boolean;
    begin
    b := pck$os_commands.CreateDir('/data/files/vp_docs/schv/2004-2005/jan/1/');
    end;
    end;
    Where /data/files/vp_docs/schv/ already exist, so the proc needs to create the direcories '2004-2005', 'jan' and '1'
    this gives me following error :
    ORA-29532: Java call terminated by uncaught Java exception: java.security.AccessControlException:
    the Permission (java.io.FilePermission /data/files/vp_docs/schv/2004-2005/month/1 write) has not been granted to DIS.
    The PL/SQL to grant this is dbms_java.grant_permission( 'DIS', 'SYS:java.io.FilePermission', '/data/files/vp_docs/schv/2004-2005/jan/1', 'write' )
    I can't give this permission as the given directory does not yet exist. File permissions on os are ok and when i execute
    the code on the os (not from the DB) it works fine.
    This also worked on a Windows 10G DB without any extra grants.
    Also, i can execute the followint
    b := pck$os_commands.CreateDir('/data/files/vp_docs/schv/2004-2005/');
    but if i then execute
    b := pck$os_commands.CreateDir('/data/files/vp_docs/schv/2004-2005/jan/');
    I get the same error. So i can only creaet 1 directory beneath the schv directory
    Any ideas anyone ?

    The Error message is right.
    You need to:
    Ensure the Directory exist in Unix.
    Create the Directory in the Database as SYS.
    Grant Read,Write permission on th DIrectory to DIS
    Grant Java permission on th DIrectory to DIS (using the syntax already shown in the Error message).
    See my example below (10g R1)
    SQL> connect /as sysdba
    Connected.
    SQL> GRANT CONNECT,RESOURCE TO DIS IDENTIFIED BY DIS;
    Grant succeeded.
    SQL> create or replace directory DIS_DOWNLOAD_DIR as '/data/files/vp_docs/schv/2004-2005/month/1';
    Directory created.
    SQL> col DIRECTORY_PATH format a50
    SQL> select * from dba_directories;
    OWNER DIRECTORY_NAME DIRECTORY_PATH
    SYS DIS_DOWNLOAD_DIR /data/files/vp_docs/schv/2004-2005/month/1
    1 row selected.
    SQL> GRANT READ,WRITE ON DIRECTORY "SYS"."DIS_DOWNLOAD_DIR" TO "DIS";
    Grant succeeded.
    SQL> EXECUTE DBMS_JAVA.GRANT_PERMISSION( 'DIS', 'SYS:java.io.FilePermission', '/data/files/vp_docs/schv/2004-2005/jan/1', 'write' )
    2 /
    PL/SQL procedure successfully completed.
    SQL>

  • Error java.sql.exception when setting up repository for OWB 11g

    Hey all,
    I am encountering the following error on the last step of Repository Assistant, that is, while trying to set up the design repository in OWB 11g:
    "The Warehouse Builder workspace installation failed
    java.sql.SQLException : ORA-00942 table or view does not exist"
    Below is an excerpt from the the log file:
    main.TaskScheduler timer[5]20080620@14:51:54.054: 00> oracle.wh.service.impl.assistant.ProcessEngine.processSQLUserToken(ProcessEngine.java:1106)+>     at java.lang.Thread.run(Thread.java:595)
    main.TaskScheduler timer[5]20080620@14:51:54.054: 00> oracle.wh.service.impl.assistant.ProcessEngine.display(ProcessEngine.java:1572): Exception = java.sql.SQLException: ORA-00942: table or view does not exist
    main.TaskScheduler timer[5]20080620@14:51:54.054: 00> oracle.wh.ui.install.assistant.wizards.AssistantWizardDefinition.display(AssistantWizardDefinition.java:788): [executeOwbReposOrRuntime]: Error occurred during Workspace Installation. Exception =java.lang.Exception: java.sql.SQLException: ORA-00942: table or view does not exist
    main.AWT-EventQueue-0[6]20080620@14:51:54.054: 00> oracle.wh.ui.jcommon.WhButton@a22671: WhButton setLabel rtsString = OK
    main.AWT-EventQueue-0[6]20080620@14:58:17.017: 00> oracle.wh.ui.install.assistant.wizards.AssistantWizardDefinition.display(AssistantWizardDefinition.java:788): before open 'UnSuccessDialog'
    main.AWT-EventQueue-0[6]20080620@14:58:17.017: 00> oracle.wh.ui.install.assistant.wizards.AssistantWizardDefinition.display(AssistantWizardDefinition.java:788): Open UnSuccessDialog ...
    main.AWT-EventQueue-0[6]20080620@14:58:17.017: 00> oracle.wh.ui.jcommon.WhButton@a22671: WhButton setLabel rtsString = OK
    I am new to OWB so please let me know if I've left out any information that would help in figuring out why the installation is not completing.
    Thanks.

    The only thing I can think of in OWB 11g is that the main schema that is used, which is OWBSYS, wasn't fully installed or it doesn't have all the tables or views it needs or they weren't created properly with the cat_owb.sal script.
    Something must not have been created right. I would try to stop all OWB services with the appropriate scripts in:
    <your_owb_home>owb\rtp\sql
    try the stop_service.sql script.
    Then try to drop the users owbsys and whatever you might have created (if it exists) for a workspace owner user. Then clean up with:
    <your_owb_home>\owb\UnifiedRepos\clean_owbsys.sql
    After that it is back to the drawing board from the beginning. DO these steps again that you likely did in the first place:
    1. create owbsys with:
    <your_owb_home>\owb\UnifiedRepos\cat_owb.sql <tablespace_name>
    2. Set the control center home with:
    <your_owb_home>\owb\UnifiedRepos\reset_owbcc_home.sql <your_owb_home>
    *pay attention to the case of the the OWB HOME you give as a variable to the above script.  It needs to match the case of your real path.
    3. Finally unlock owbsys.
    4. look at <your_owb_home>\owb\bin\admin\ if the rtrepos.properties file size is at '0'. If it is for some reason, rename it to something else right now.
    5. Then try to run the repository assistant again.
    -Greg

  • Java.lang.StringIndexOutOfBoundsException when executing query on Oracle 9i

    SQL Deverloper Build 1467
    Windows XP
    Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
    I have the following query being executed in SQL Worksheet.
    select * from address
    where address_id in (1, 2, 3, .... 1000, 1001);
    If I have <= 1000 expressions, it executes but if it has > 1000, the query does not return this error "ORA-01795: maximum number of expressions in a list is 1000". When I ran this it in console, it gave me this error. In oracle 10G it works fine.
    java.lang.StringIndexOutOfBoundsException: String index out of range: 16058
    at java.lang.String.substring(String.java:1765)
    at oracle.dbtools.raptor.scriptrunner.SQL.run(SQL.java:73)
    at oracle.dbtools.raptor.scriptrunner.ScriptRunner.run(ScriptRunner.java:116)
    at oracle.dbtools.raptor.scriptrunner.ScriptRunner.run(ScriptRunner.java:186)
    I think this is a bug in the 9i module.
    -Nags

    Anil kumar wrote:
    Hi,
    Thanks for your reply. Could you please explain your solution in detail?Hi,
    I just have a try...
    create table t (id int,my_lob clob)
    begin
    insert into t values(101,'Oracle redwood shores USA');
    insert into t values (102,'HP palo alto USA');
    insert into t values(103,'Capgemini  FRANCE');;
    end;
    create index my_idx on t(my_lob) indextype is ctxsys.context
    select *
    from t
    where contains(my_lob,'USA',1)>0
    Output
    ID      MY_LOB
    101     Oracle redwood shores USA
    102     HP palo alto USA Hope it helps,
    CKLP

  • Java.lang.NoClassDefFoundError when executing JAVA code

    Hy everyone,
    Trying to execute some java code through forms I got this error when running my program : java.lang.NoClassDefFoundError : simple (where simple is a java class I developped).
    These are the steps I followed:
    1- Devopping a simple JAVA class (simple.java) and compiling in JDK 1.4 (for compatibilty with forms 10.1.2.0.2)
    2- Creating the JAR file
    3- Copying the JAR file in <ORACLE_HOME>\forms\java
    4- Adding the adress of the JAR file in CLASSPATH (environment variable of the server)
    5- Adding the adress of the JAR file in CLASSPATH (environmental file of OAS default.env)
    6- Importing the JAVA class trought forms builder (program>>import java class)
    7- Invoking the JAVA class via the PL/SQL packages created by forms builder
    8- Running the program
    Thanks for your help.
    Regards.

    In most cases, you should not have to stop and restart OC4J_BI_FORMS to pick such changes. However, since you are having problems, I would ensure that all frmweb processes have been stopped, then stop and restart OC4J_BI_FORMS and retest. If that doesn't work, you should review how you imported the java into your app. Look closely at the Importer options you used and ensure that you have not change the file name at any point. Because you are working with Java, case sensitivity is critical.
    Also, where are you seeing the error message? Client java console or in a server side log? If server side, exactly which log file is reporting the problem? I would suggest you post the first 4 ro 5 lines of the error and not just the NoClassDefFound part.

  • Internal communication error when execute procedure on HANA MPP Cluster

    Hi All,
           I'm executing a hana POC at customer environment, it's a 6 nodes hana cluster (with one master & 5 work node).
    When I create a table cross all nodes, and than execute a procedure with that table, it's failed by internal error
    create columnt table CC.AA (NEWDATE DATE primary key) replica AT all locations;
    create procedure CC.P_INS_ADW_DIM_DATE( )
    LANGUAGE SQLSCRIPT
    SQL SECURITY INVOKER
    AS
    FULLDATE DATA;
    MONTHNUMBER INTEGER;
    YEARNUMBER INTEGER;
    DAYNUMBER INTEGER;
    BEGIN
           FULLDATE:=TO_DATE('19800101','YYYYMMDD');
           INSERT INTO "CC"."AA" CALUES(FULLDATE);
    END;
    CALL CC.P_INS_ADM_DIM_DATE( );
    The error message like below:
    SAP DBTech JDBC: Cannot connect to VolumeID=7 [Cannot connect to host 172.21.36.58:34215 [Connection timed out]]
    172.21.36.58 is internal communication IP address of the cluster node, while is public IP should be 192.168.1.123
    I'm wonder if Hana call data through internal channel, does the port should be 3××003
    And I saw in /etc/hosts internal IP bound to host name, not public IP
    hana003  172.21.36.58
    Can anyone help?
    thanks!

    Hi Experts,
      Did anybody faced same problem mentioned above? how to fix it.
    Thanks,
    Umashankar

  • Strange delay when executing procedures

    Hi,
    When migrating from SQL 2008 to SQL 2014 I come across a strange issue where some of our stored procedures always takes 500+ ms to execute (client side). The problem seems to be in the packet size together with the size of the columns.
    Executing the procedure below on the client takes 500 ms. Bu just removing one character from a field name and the issue dissappears.
    There is no delay if the test application is started on the SQL server itself - only on the clients. The firewall is off and there is no real time anti-virus running.
    Any help is welcome
    Regards
    Robert Warnestam / CODAB AB
    SET ANSI_NULLS OFF
    GO
    SET QUOTED_IDENTIFIER OFF
    GO
    alter Procedure [dbo].[co_Test1]
    AS
    SELECT
    "1" as "L32xxxxxxxxxxxxxxxxxxxxxxxxxxx01L32xxxxxxxxxxxxxxxxxxxxxxxxxxx02",
    "1" as "L32xxxxxxxxxxxxxxxxxxxxxxxxxxx03L32xxxxxxxxxxxxxxxxxxxxxxxxxxx04",
    "1" as "L32xxxxxxxxxxxxxxxxxxxxxxxxxxx05L32xxxxxxxxxxxxxxxxxxxxxxxxxxx06",
    "1" as "L32xxxxxxxxxxxxxxxxxxxxxxxxxxx07L32xxxxxxxxxxxxxxxxxxxxxxxxxxx08",
    "1" as "L32xxxxxxxxxxxxxxxxxxxxxxxxxxx09L32xxxxxxxxxxxxxxxxxxxxxxxxxxx10",
    "1" as "L32xxxxxxxxxxxxxxxxxxxxxxxxxxx11L32xxxxxxxxxxxxxxxxxxxxxxxxxxx12",
    "1" as "L32xxxxxxxxxxxxxxxxxxxxxxxxxxx13L32xxxxxxxxxxxxxxxxxxxxxxxxxxx14",
    "1" as "L32xxxxxxxxxxxxxxxxxxxxxxxxxxx15L32xxxxxxxxxxxxxxxxxxxxxxxxxxx16",
    "1" as "L32xxxxxxxxxxxxxxxxxxxxxxxxxxx15L32xxxxxxxxxxxxxxxxxxxxxxxxxxx160123456789012345678901234567"

    Btw. We have the same delay using a non-virtualized client (win7)...
    There are a couple of mysteries here.  One is that connection pooling circumvents the problem.  I would expect the opposite.  The other is that decreasing the network packet size improves performance with larger results.  Again, I would
    expect the opposite.
    See if you can reproduce the issue with the code below, which gathers more detailed timings.  If so, can you run it against a physical SQL box too. 
    using System;
    using System.Data;
    using System.Data.Common;
    using System.Data.SqlClient;
    using System.Collections;
    using System.Collections.Generic;
    using Microsoft.SqlServer.Server;
    using System.Diagnostics;
    namespace SqlPerfTest
    class Program
    private const string CON_STRING = "workstation id=TEST;packet size=4096;data source=172.16.0.2;persist security info=True;initial catalog=XXX;User id=XXX;Password=XXX";;
    //pass proc name as command-line arg
    static void Main(string[] args)
    if (args.Length != 1)
    Console.WriteLine("specify SQL statement as command-line argument");
    Environment.ExitCode = 1;
    return;
    string sql = args[0];
    var totalDuration = Stopwatch.StartNew();
    for(int i = 1; i <= 100; ++i)
    using(SqlConnection conn = new SqlConnection(CON_STRING))
    using (SqlCommand command = new SqlCommand(sql, conn))
    var testDuration = Stopwatch.StartNew();
    var openDuration = Stopwatch.StartNew();
    conn.Open();
    openDuration.Stop();
    var execDuration = Stopwatch.StartNew();
    var reader = command.ExecuteReader();
    execDuration.Stop();
    var readDuration = Stopwatch.StartNew();
    var results = new object[reader.FieldCount];
    do
    while (reader.Read())
    reader.GetValues(results);
    } while (reader.NextResult());
    reader.Close();
    readDuration.Stop();
    testDuration.Stop();
    Console.WriteLine(
    "Iteration={0}, TestDuration={1}, OpenDuration={2}, ExecDuration={3}, ReadDuration={4}"
    , i
    , testDuration.Elapsed
    , openDuration.Elapsed
    , execDuration.Elapsed
    , readDuration.Elapsed
    totalDuration.Stop();
    Console.WriteLine(
    "AvgDuration={0}, TotalDuration={1}"
    , (new TimeSpan(totalDuration.Elapsed.Ticks / 100))
    , totalDuration.Elapsed);
    Console.ReadLine();
    Dan Guzman, SQL Server MVP, http://www.dbdelta.com

  • Session disconnects when executing procedure

    For some reason when I execute my procedure I get a ORA-00603: Oracle server session terminated by fatal error. When I comment out the section of code below, the procedure executes without issue. I've run an Explain Plan on this SQL, but the cost is really low. I suspect it has something to do with the table that is accessed across DB Link. Any ideas how to resolve?
    DB version: Oracle 10.2.0.3.0
                    select UPPER(fcc_emp.EMP_LST_NM||', '||fcc_emp.EMP_FST_NM) emp_name,
                           hr.emp_email_ad
                      INTO v_fa_name,
                           v_email_addr                    
                      from table_A slea_emp,
                           table_B fcc_emp,
                           table_C@remote_DB hr
                     WHERE slea_emp.empid = fcc_emp.emp_id
                       AND slea_emp.eligible_ind = 'Y'
                       AND fcc_emp.emp_9dig_id = hr.emp_id_cd   
                       AND slea_emp.empid = v_xml_rec.EmpID
                       AND slea_emp.slea_year = gv_slea_year;  

    Don't look at the cost in an Explain plan. But show us the plan.
    You can also try to rewrite the statement
    select UPPER(fcc_emp.EMP_LST_NM||', '||fcc_emp.EMP_FST_NM) emp_name,
                (select min(hr.emp_email_ad) from table_C@remote_DB hr where fcc_emp.emp_9dig_id = hr.emp_id_cd) emp_email_ad
         INTO v_fa_name,
              v_email_addr
         from table_A slea_emp,
              table_B fcc_emp
         WHERE slea_emp.empid = fcc_emp.emp_id
         AND slea_emp.eligible_ind = 'Y'
         AND slea_emp.empid = v_xml_rec.EmpID
         AND slea_emp.slea_year = gv_slea_year;   but this would return only one email address per name. And sometimes even none.

Maybe you are looking for

  • Application for receiving application not working..

    Hi..experts. i m new to j2me programming. plese help me. I got an application for receiving SMS from net. i nstalled it on nokia N73. but it's not working. this is the code of that app... package receivedemo.sms; import javax.microedition.lcdui.*; im

  • Forecast Consumption in APO- No Data Available in Product View

    Hi Experts I facing some problem in Forecast Consumption in APO. The APO system is connected to a R/3 system. So data relevant for Forecast consumption comes from R/3. The allocation indicator in the requirement class assigned to the strategy maintai

  • Please only post SAP Business Objects products related questions here

    Hi Thanks for reading. Unfortunately many people get confused with the term BI which was used for SAP BW at one time. With the acquisition of Business Objects some product names have changed. SAP BW is still SAP BW, please post in the respective foru

  • DPM 2012 R2 crashes during tape backup for a specific server

    Hi Community, A customer of ours is experiencing an issue with DPM crashing after a period of time when backing up a large protection group to tape. Customer is running DPM 2012 R2 URE 5 Upon looking in the DPM Logs, we see the following error, immed

  • How can I convince BT I want to keep Classic Email...

    Hi everyone, For a good few weeks now, when checking my emails via a web browser, I have been able to say no thank you to the new yahoo web page. Today, I wasn't able to read the emails on my main account - Big Brother said I had to install the new s