BC4J /  JDBC Failover BUG ?

I have developed an ADF / BC4J application which works.
In our environment we have a failover configuration
I coded this approach for my ADF applications.
My Custom connect string in the connection wizard for the BC4J is:
jdbc:oracle:thin:@
(DESCRIPTION =
     (ADDRESS = (PROTOCOL = TCP) (HOST =aaa.bbb.yyy.zzz)(PORT = 1521))
     (ADDRESS = (PROTOCOL = TCP) (HOST =bbb.bbb.yyy.zzz)(PORT = 1521))
     (LOAD_BALANCE = yes)
     (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = db.yyy.zzz)
          (FAILOVER_MODE = (TYPE = SESSION) (METHOD = BASIC) (RETRIES = 180) (DELAY = 5))
When I press test connection it works and says success. (The first host in the list is actually down and we are using the failover host.)
However when I deploy the app to the OC4J Standalone Middle Tier (10.1.3.0) and then attempt to run the app I get the following error in the browser:
JBO-30003: The application pool (zzz.yyy.bbb.CustSubDivsAppLocal) failed to checkout an application module due to the following exception:
oracle.jbo.JboException: JBO-29000: Unexpected exception caught: oracle.jbo.JboException, msg=JBO-29000: Unexpected exception caught: oracle.jbo.JboException, msg=JBO-29000: Unexpected exception caught: oracle.jbo.DMLException, msg=JBO-26061: Error while opening JDBC connection.
If I remove the unavailable host (the first one) from the ADDRESS list the application works properly. If I change the order of the hosts so the first one is the one thats up it also seems to work ok.
It seems that the OC4J middle tier cannot handle the fact that the first host in the list is down and throws an exception instead of trying the second one. In JDeveloper BC4J Connection Wizard it seems to handle the down host properly.
Is this correct or have I setup the URL incorrectly ?
This has caused a huge headache for me as we are currently running on our failover hosts due to SAN maintenance and all my J2EE apps stopped working !!
Thanx
Andrew

Hi Hans,
A JDev developer, John S., recently created a bug report that if I remember
correctly, said that creatRoot... was not thread safe.
My scenario that caused this discovery (functionally identical to your looping threads cases)
was multple concurrent requests created by rapid clicking a submit button. This creates multple threads in the web tier
dispatching against a BC4J component calling createRoot....
in our JSP/Servlets. Just like your code, Hans.
The end result was some ugly exceptions and failed use cases of the 2nd or so to Nth threads.
In short, I believe that your design won't work.
I could work if you gave each thread a separate identity, via a separate BC4J cookie, thus simulating separate BC4J sessions.
I'm not at all familiar with this area of the BC4J API, just know general buzz words to be dangerous and confusing
to you. ;-(
Hopefully John S. will jump in here and help you.
Good luck, Curt.
PS please post your solutions?

Similar Messages

  • Which BC4J / JDBC pooling configurations are global for a JVM?

    There are several documents and postings saying that some of the BC4J / JDBC Pooling properties are unique for the JVM.
    So if i have 3 WAR files with 3 different settings in bc4j.xcfg (transaction factory, pooling settings) some of the settings are ignored after the first AM Pool is instanciated. This could be the reason for some "unreproducable" problems we have.
    So please provide us a list, which properties additional to the ones below are global per JVM and which are really used from the bc4j.xcfg.
    1. Getting the Connection object out of ApplicationModule says about the TransactionFactory
    Please not that this property is a static BC4J property. Meaning that the value of this property when the first ApplicationModule is created is the value which will be used. If you have multiple ApplicationPool(s) then it is necessary to define the property in all configurations, dynamically, or as a system property.
    2. http://www.oracle.com/technology/products/jdev/tips/muench/ampooling/index.html says about jbo.ampool.monitorsleepinterval
    Since there is only a single application monitor pool monitor per Java VM, the value that will effectively be used for the AM pool monitor polling interval will be the value found in the AM configuration read by the first AM pool that gets created. To make sure this value is set in a predictable way, it is best practice for all application modules to use the same Pool Polling Interval value.
    and
    3. Since the tuning parameters for all ADF database connection pools - regardless of <JDBCURL,Username> value - will be set based on the parameters found in the configuration for the first AM pool that is created. To insure the most predictable behavior, it is best practice to leave the values of the parameters in the Connnection Pooling section of the Pooling and Scalability tab at their default values - so that no entry for them is written into the bc4j.xcfg file - and to instead set the desired values for the database connection pooling tuning parameters as Java System Parameters in your J2EE container.
    Sounds like this means the parameters: jbo.initpoolsize, jbo.maxpoolsize, jbo.poolmonitorsleepinterval, jbo.poolmaxavailablesize, jbo.poolminavailablesize, jbo.poolmaxinactiveage ?
    4. And http://oracle-web.petersons.com/bc4jdoc/bc_aappmodpooling.htm tells There is one connection pool manager for each business logic tier's Java VM. Connections remain in the pool until the Java VM stops running.
    Thanks, Markus

    Just another funny observation regarding BC4J parameter settings in 9.0.5.2:
    Setting jbo.ampool.sessioncookiefactoryclass in the jboserver.properties is ignored. Setting in bc4j.xcfg works.
    rgds, Markus

  • Jdbc mysql bug?!?!

    Hi all,
    I'm using jsc and mysql in my webapp.
    I need to show full names in a listbox:
    I have a table with several columns, in particular I have name and surname.
    Somewhere I found a tutorial to modify sql query:
    it's quite simple, just to use CONCAT....
    If I run the query it works, but it does't name the result with alias I defined into the query... so I have no way to tell to my webapp to show this column.
    Has anyone experienced the same??
    I solved creating a view in my db and getting data from this view...

    Some else here reported a similiar "column alias ignored" type of issue not too long ago.
    They reverted to an earlier version of the mysql jdbc driver -
    connectorJ/version 5.X failed, version 3.1.XX worked.
    You can verify it's a JDBC driver bug by opening a view data window, enter "smd", a space, then your select statement, then run This will then show the metadata the driver provides. Does it show your column alias? If not, file a bug with MySQL.

  • Oracle thin JDBC driver BUG-2285052, how to solve it ?

    Hi, use ResultSet.getString to get a nchar type String from databaase, it will return the proper value.
    eg, a 254 size column , it will return more char as needed !!
    please check next from jdbc readme file. anyone can give me a temp solution ?
    BUG-2285052 (since 9.2.0.1)
    Extra space and null characters are returned by ResultSet.getString() and Scrollable ResultSet getString() for NCHAR column when the database national character set is UTF8. This behavior occurs only with JDBC THIN driver.

    Dear Michael,
    thx I found a lot of useful properties via the links you provided, but not those in question.
    michael_obrien wrote:
    For timeouts, you may need to use a hint directly on the entity though
    http://wiki.eclipse.org/Using_EclipseLink_JPA_Extensions_(ELUG)#How_to_Use_EclipseLink_JPA_Query_Hints
    http://wiki.eclipse.org/Using_EclipseLink_JPA_Extensions_(ELUG)#Timeout
    I think this refers to "Statement.setQueryTimeout".
    The properties I'm looking for focus on the connection and the network beneath.
    Are there other undocumented ;) possibilities?
    Kind Regards,
    daniela

  • JDBC Failover in Oracle 8i

    Hi there,
    we have an existing JDBC applications connecting to one database (doing retrieve data, update data) and now looking to implement a failover, since this database is often down, either due to network issue or CPU panic.
    Can anyone point me on how the best way to go about doing this?
    It seems to me that 1) I have to first have the Oracle instances configured for this, and 2) then do the modifications on the JDBC code level.
    Any help would be greatly appreciated! Thank you for your help.
    Cheers,
    Kevin

    HI Kevin,
    Configuring failover is pretty simple, there are 2 basic ways to config failover,
    1) By re-directing the requests to a stand-by database :
    if you have a stand-by database, then the tnsnames entry can be configured in such a way that when the primary instance fails, the requests will automatically be routed to the stand-by db.
    [ no code change required ]
    2) By handling failover using call-back methods : In this case, Callback methods can be registered with the database connection, when the database goes down, the callback methods will be notified and you can alert the user that the database is down. And when the database comes up, the callback methods will be called again and notified that the db is up and you can continue processing.
    [ Callback methods have to be implemented ]
    To learn more about basic failover refer to Transparent Application Failover(TAF) sample @ http://otn.oracle.com/sample_code/tech/java/sqlj_jdbc/files/9i_jdbc/content.html#ocitrans
    [ certified on Solaris and Linux ]
    refer to the Net Services Admin Guide for more info on configuring TAF
    TAF is available only with Oracle9i OCI JDBC driver, you have to use 9i drivers to connect to the 8i DB.
    Regards
    Elango.

  • Dynamic BC4J JDBC credential problem

    I am using bc4j 9.0.3.1 and trying to dynamically change jdbc credentials and connect to different databases. I did everything as described in article "How to support Dynamic JDBC Credentials".
    I was able successfully connect from web application to database, but when I request ViewObject from app module - I got error "Error Message: JBO-25200: Application module is not connected to a database".
    What happened is following:
    My apps connect to database, it print following debug message:
    [458] Creating a new pool resource
    [459] Trying connection/2: url='jdbc:oracle:thin:@192.168.0.1:mxb' info='{user=carnegie, password=carnegie}' ...
    [460] Successfully logged in
    then in dubugger I see it calls ApplicationPoolImp class doFailover method and alwaus execute disconnect(appModule, true, cookie) method.
    I do not know why it disconnection itself from the database.
    // Store the passivation id on the application module cookie so that
    // we know the last passivation id.
    cookie.setPassivationId(passivationId);
    // After passivating the application module attempt to clean up any
    // records associated with previously passivated state. State may not be
    // removed if the VM instance has died (pass a previous state to this
    // method? Add logic to the application registry to handle this?).
    doPersistenceOperation(REMOVE_STATE, appModule, prevPassivationId, cookie);
    if (!wasConnected)
    // Always retain the state.
    disconnect(appModule, true, cookie);
    Final debug statements I got:
    [486] DefaultConnectionStrategy is disconnecting an application module connection
    [490] ViewObject close prepared statements...
    [491] ViewObject close prepared statements...
    [492] ViewObject close prepared statements...
    [493] ViewObject close prepared statements...
    [494] ViewObject close prepared statements...
    [495] ViewObject close prepared statements...
    [496] *** closing jdbc connection now **** (oracle.jdbc.driver.OracleConnection@ed)
    My problem - why it disconnection itself from the database after successfull connection? I want to use this connection for duration of the session.

    hi DAguirre
    I have found the class "oracle.jbo.http.HttpSessionCookieFactory" in these JAR files:
    <your-jdevstudio10133-dir>\BC4J\jlib\bc4jhtml.jar
    <your-jdevstudio10133-dir>\BC4J\lib\adfmweb.jar
    You could try to add one of these JAR files to your classpath.
    regards
    Jan Vervecken

  • BC4J JDBC passivation NoSuchMethodError

    Setup:
    Client: WinNT 4 SP 6a
    JDK: Sun 1.4.1_02
    JDBC Driver: 9.2.0 (ojdbc14.jar)
    JDeveloper 9.0.3.1
    Target DB: 9.2.0.3.0 - 64bit on Solaris
    In BC4J I choose
    <jbo.dofailover>true</jbo.dofailover>
    <jbo.passivationstore>database</jbo.passivationstore>
    When BC4J tries to passivate I find the PS_TXN table created and regardless of thin or oci driver I get:
    java.lang.NoSuchMethodError: oracle.jdbc.dbaccess.DBAccess.lobWrite(Loracle/sql/BLOB;J[B)J
         at oracle.sql.LobDBAccessImpl.putBytes(LobDBAccessImpl.java:111)
         at oracle.sql.BLOB.putBytes(BLOB.java:228)
         at oracle.jdbc.driver.OracleBlobOutputStream.flushBuffer(OracleBlobOutputStream.java:269)
         at oracle.jdbc.driver.OracleBlobOutputStream.close(OracleBlobOutputStream.java:238)
         at oracle.jbo.pcoll.PCollNode.closeOutputStream(PCollNode.java:303)
    [...more]

    I cannot respond directly to the verbage in the "highwater" doc but the following definitions
    may prove helpful(?)
    Maximum Available Size jbo.ampool.maxavailablesize
    The ideal maximum number of AM instances in the pool when not under abnormal load.
    When the pool monitor wakes up to do resource cleanup, it will try to remove available AM instances to bring the total number of available instances down to this ideal maximum. Instances that have been not been used for a period longer than the idle instance timeout will always get cleaned up at this time, then additional available instances will be removed if necessary to bring the number of available instances down to this size. The default maximum available size is 25 instances.
    Idle Instance Timeout jbo.ampool.maxinactiveage
    The number of seconds after which to consider an inactive AM instance in the pool as a candidate for removal during the next resource cleanup.
    The default is 600 seconds of idle time (time minutes).
    For a more indepth discussion see:
    http://radio.weblogs.com/0118231/stories/2003/12/17/understandingApplicationModulePoolingConceptsAndConfigurationParameters.html
    Regards,
    Stephen Martin
    Oracle Corp

  • JDBC conversion bug?

    Hi,
    Please bear with the length of this post, but something really weird is happening and I think there may be a bug in the jdbc adaptor. I'm using the oracle9i-classes12.jar file, but have also tried the ojdbc14.jar file.
    I have a number of schemas across a couple of databases (10i) and have a need to adminster a table that exists in each of the schemas through one application. We have recently moved a number of the schemas onto a new database machine as the old one was using a different character set than the other (both are now using AL32UTF8).
    I'm using database links and synonyms in an administrative schema to access the common table in all the other schemas. The common table looks like:
    CREATE TABLE patch_log
    (patch_log_id NUMBER(12,0) NOT NULL,
    patch_number NUMBER(12,0) NOT NULL,
    date_applied DATE,
    comments VARCHAR2(512),
    applied_by VARCHAR2(40));
    When my application does a fetch across all the tables, it generates a sql statement for each table synonym and bundles the results together into one array. The sql statement generated looks like:
    SELECT applied_by,
    comments,
    date_applied,
    patch_log_id,
    patch_number
    FROM table_synonym_name;
    For the tables on one database, this statement works fine, for the others I get a SQLException bundled in a JDBCAdaptorException. I wanted to make sure that it wasn't the application (created with WebObjects) so I ran the sql statements in DbVisualizer as that also uses JDBC. I get the same error there. The error/stack trace is:
    java.sql.SQLException: Invalid character encountered in: failAL32UTF8Conv
         at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
         at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
         at oracle.jdbc.dbaccess.DBError.check_error(DBError.java:1130)
         at oracle.jdbc.dbaccess.DBConversion.failAL32UTF8Conv(DBConversion.java:2762)
         at oracle.jdbc.dbaccess.DBConversion.al32utf8BytesToJavaChars(DBConversion.java:2469)
         at oracle.jdbc.dbaccess.DBConversion.al32utf8BytesToJavaChars(DBConversion.java:2372)
         at oracle.jdbc.dbaccess.DBConversion.charBytesToJavaChars(DBConversion.java:884)
         at oracle.jdbc.dbaccess.DBConversion.CHARBytesToJavaChars(DBConversion.java:807)
         at oracle.jdbc.ttc7.TTCItem.getChars(TTCItem.java:298)
         at oracle.jdbc.dbaccess.DBDataSetImpl.getCharsItem(DBDataSetImpl.java:1493)
         at oracle.jdbc.driver.OracleStatement.getCharsInternal(OracleStatement.java:3355)
         at oracle.jdbc.driver.OracleStatement.getStringValue(OracleStatement.java:3556)
         at oracle.jdbc.driver.OracleResultSetImpl.getString(OracleResultSetImpl.java:434)
         at com.onseven.dbvis.sql.Selector.getValue(Unknown Source)
         at com.onseven.dbvis.sql.Selector.fetchData(Unknown Source)
         at com.onseven.dbvis.sql.Selector.execute(Unknown Source)
         at com.onseven.dbvis.sql.Selector.execute(Unknown Source)
         at com.onseven.dbvis.executor.ExecutorHandler.execute(Unknown Source)
         at com.onseven.dbvis.executor.ExecutorHandler.access$1000(Unknown Source)
         at com.onseven.dbvis.executor.ExecutorHandler$ExecutorThread.construct(Unknown Source)
         at se.pureit.swing.util.SwingWorker$2.run(Unknown Source)
         at java.lang.Thread.run(Thread.java:534)
    Just to make things a little weird, if I qualify my search criteria with a patch_number, the statement works for all the tables:
    SELECT applied_by,
    comments,
    date_applied,
    patch_log_id,
    patch_number
    FROM table_synonym_name
    WHERE patch_number = 100;
    I can select from the patch tables without exception if I'm logged in as that schema owner regardless of how my sql statement is set up. It only happens when I try to access the tables via the link/synonym.
    I did some playing around and discovered that if I order the columns differently in the sql statement (using the link/synonym), I can also avoid the error without a where clause:
    SELECT patch_log_id,
    patch_number,
    date_applied,
    applied_by,
    comments
    FROM table_synonym_name;
    I have no idea why ordering the columns should or shouldn't make a difference. Not all the links/synonyms cause the exception, only those that were migrated to the new database (the old one had a different character set).
    Could there be something to do with character sets that was exported/imported with those schemas that needs to be fixed? Why would the statements work with a where clause but not without?
    Any help on this matter is greatly appreciated.

    What was the old character set? How were the objects migrated to the new database?
    Justin
    Distributed Database Consulting, Inc.
    http://www.ddbcinc.com/askDDBC

  • SQL Server JDBC Driver Bug?

    I ran into an unusual situation with the MS SQL Server JDBC driver that I think is a bug and could bite people in some unusual cases.
    Here is the situation that creates the problem.
    - get a connection
    - make it transactional (autocommit false)
    - discover that there is no work to do in the transaction so no commit or rollback is done.
    - make the connection non-transactional (autocommit true)
    - update other tables using the connection (should be non-transactional)
    This leaves the tables updated in the last step locked as part of a transaction!
    It doesn't behave this way with our DB2 driver.
    While I agree that the JDBC spec is vague in many areas, this seems to be well out of bounds of any reasonable interpretation.
    The workaround is to also do a rollback (in a try/catch block) before setting autocommit true.
    -- Frank

    Since database operations are rather expensive why would you do any before checking to see if something needs to be done?

  • JDBC Statement Bug with OracleLite 4.0.1.2?

    I have found what appears to be a bug. Has anyone else encountered this bug. I have the following code:
    Statement stmt = conn.createStatement();
    ResultSet rs = stmt.executeQuery("select columnA,columnB from tableA");
    while (rs.next())
    System.out.println("ColumnA="+rs.getString("ColumnA"));
    System.out.println("ColumnB="+rs.getString("ColumnB"));
    rs.close();
    rs = stmt.executeQuery("select column1, column2,column3 from Table1");
    while (rs.next())
    System.out.println("Column1="+rs.getString("Column1"));
    System.out.println("Column2="+rs.getString("Column2"));
    ("Column3="+rs.getString("Column3"));
    Column 3 is the problem. I get the
    following Exception:
    System.out.printlnjava.sql.SQLException: >>> [ODBC S1002] invalid column number
    After researching it I found that you
    cannot reuse a Statement object over and
    over again. The reason is that the first
    execution of a statement initializes the
    number of columns to be returned and each
    subsequent statement executed does not
    reinitialize the column count. So in the
    case above the column count is 2, and I
    issue a query with 3 columns using the
    same statement object, hence the bug.
    I know the work around, just wanted to
    know if this is a know bug.Any thoughts.
    Mike H.

    I've never heard of anything like this either. But I'm not sure I'm properly tracking what you say. You drop a PR file into the source well and it disappears? If you have a Finder window open and you drag it to the Batch window, you actually see the file deleted in the Finder window?
    Or do you mean that the PR file doesn't get copied to the well?
    Russ

  • Session failover bug

    Hi
    Im running a single IIS using IISProxy to 2 WLS 5.1 / SP8. all on
    Windows2000.
    At the beginning the 2 WLS are up and running and i get in the IISProxy
    debug file the following line:
    Tue Jan 30 11:52:59 2001 Headers from WLS:
    [Set-Cookie]=[WebLogicSession=Oncb98wJH7B65roM22fRSTaBQON0f1zEx4jbCoPL0nhSTz
    uio3zq|5964146528226044946/167772191/6/7005/7005/7006/7006/7005/-1|871916504
    0604929477/167772193/6/7005/7005/7006/7006/7005/-1|5964146528226044946;
    path=/]
    then i close the primary server which i work with and get:
    Tue Jan 30 11:54:11 2001 Headers from WLS:
    [Set-Cookie]=[WebLogicSession=Oncb98wJH7B65roM22fRSTaBQON0f1zEx4jbCoPL0nhSTz
    uio3zq|8719165040604929477/167772193/6/7005/7005/7006/7006/7005/-1|NONE|5964
    146528226044946; path=/]
    the secondery became primary and the new cookie has no secondery.
    everything till now is running and session replication works fine.
    now i reinstate the server that i closed and get the following
    Tue Jan 30 11:55:32 2001 Headers from WLS:
    [Set-Cookie]=[WebLogicSession=Oncb98wJH7B65roM22fRSTaBQON0f1zEx4jbCoPL0nhSTz
    uio3zq|8719165040604929477/167772193/6/7005/7005/7006/7006/7005/-1|330144911
    6216659827/167772191/6/7005/7005/7006/7006/7005/-1|5964146528226044946;
    path=/]
    ive got a new secondery on the reinstated machine which has a new identifier
    but i still work fine with my primary.
    now i close the server that was up from the beginning which is my Primary
    now and!!!!!
    Tue Jan 30 11:57:16 2001 Headers from WLS:
    [Set-Cookie]=[WebLogicSession=Oncc2VkdSMJy2OHMeQypwZnT2DQ70u6l29pD41cttGrBAv
    g2Yr8A|3301449116216659827/167772191/6/7005/7005/7006/7006/7005/-1|NONE|3301
    449116216659827; path=/]
    Im receiving a whole new cookie (new sessionId) my old session disappeared.
    I figured that the cookie structure is something like:
    WebLogicSession=<SessionID>|<Primary>|<Secondery>|<Session Originator>
    and when the Session Originator doesn't exist any more something goes wrong
    Is this a weblogic bug?
    my sessions are very long and such a thing might happen in live environment.
    help will be appreciated
    Dror Last

    Tested the scenario you had described with Weblogic & iisproxy @510SP8 and
    WebLogic running on NT. Session failed over everytime as expected.
    --Vinod.
    "Vinod Mehra" <[email protected]> wrote in message
    news:[email protected]...
    It is always nice to see such well analyzed questions!
    This should not happen unless the session has timeout or the cookie has
    expired.
    The "Session Originator " you are talking about is the Replicated Object's
    unique
    identifier (ROID). I will try to reproduce this here.
    -Vinod.
    "Dror Last" <[email protected]> wrote in message
    news:[email protected]...
    Hi
    Im running a single IIS using IISProxy to 2 WLS 5.1 / SP8. all on
    Windows2000.
    At the beginning the 2 WLS are up and running and i get in the IISProxy
    debug file the following line:
    Tue Jan 30 11:52:59 2001 Headers from WLS:
    [Set-Cookie]=[WebLogicSession=Oncb98wJH7B65roM22fRSTaBQON0f1zEx4jbCoPL0nhSTz
    >>
    >
    uio3zq|5964146528226044946/167772191/6/7005/7005/7006/7006/7005/-1|871916504
    0604929477/167772193/6/7005/7005/7006/7006/7005/-1|5964146528226044946;
    path=/]
    then i close the primary server which i work with and get:
    Tue Jan 30 11:54:11 2001 Headers from WLS:
    [Set-Cookie]=[WebLogicSession=Oncb98wJH7B65roM22fRSTaBQON0f1zEx4jbCoPL0nhSTz
    >>
    >
    uio3zq|8719165040604929477/167772193/6/7005/7005/7006/7006/7005/-1|NONE|5964
    146528226044946; path=/]
    the secondery became primary and the new cookie has no secondery.
    everything till now is running and session replication works fine.
    now i reinstate the server that i closed and get the following
    Tue Jan 30 11:55:32 2001 Headers from WLS:
    [Set-Cookie]=[WebLogicSession=Oncb98wJH7B65roM22fRSTaBQON0f1zEx4jbCoPL0nhSTz
    >>
    >
    uio3zq|8719165040604929477/167772193/6/7005/7005/7006/7006/7005/-1|330144911
    6216659827/167772191/6/7005/7005/7006/7006/7005/-1|5964146528226044946;
    path=/]
    ive got a new secondery on the reinstated machine which has a newidentifier
    but i still work fine with my primary.
    now i close the server that was up from the beginning which is my
    Primary
    now and!!!!!
    Tue Jan 30 11:57:16 2001 Headers from WLS:
    [Set-Cookie]=[WebLogicSession=Oncc2VkdSMJy2OHMeQypwZnT2DQ70u6l29pD41cttGrBAv
    >>
    >
    g2Yr8A|3301449116216659827/167772191/6/7005/7005/7006/7006/7005/-1|NONE|3301
    449116216659827; path=/]
    Im receiving a whole new cookie (new sessionId) my old sessiondisappeared.
    I figured that the cookie structure is something like:
    WebLogicSession=<SessionID>|<Primary>|<Secondery>|<Session Originator>
    and when the Session Originator doesn't exist any more something goeswrong
    Is this a weblogic bug?
    my sessions are very long and such a thing might happen in liveenvironment.
    help will be appreciated
    Dror Last

  • BC4J - The biggest bug ever

    Hi,
    I have a field in in view that has the precision (8,4) in the database. And as a result of some computation the
    value in the field is 1.45678 This value throws an error
    (invalid precision) when is set
    row.setAttribute ("CoefGlobal", new oracle.jbo.domain.Number (1.45678))
    And stops my interface. What I was expecting from the field is to be rounded to 4 digits precision and not to throw an error . You don't expect from me to make sure that all numeric the fields in a view are respecting the database precision. Not all the field are inputed throw the interface.
    regards,
    Lucian

    For this instance, I would expect to have to validate the data before submitting it. The reason for this is that there are many situations where I would rather have a user shown an error message then automatically round their data. Take a financial application. The field is Number(8,2) which is like currency (dollars and cents). The user puts in 4.525 representing 4 dollars and 52 and a half cents. I would rather tell the user that the system does not support the half cent then automatically chop it off and produce inaccurate results.
    To this end, you can set up validators to check for things like this at the BC4J level. In this case you could create a method validator which checks the scale and automatically rounds to the correct scale (your desired result).
    Hope that made sense!

  • BC4J - JDBC Connections

    Hi,
    I am developing an Application using BC4J which has around 26 ViewObjects in 1 ApplicationModule
    I am using JDev 3.2 and specify runtime parameter
    -Djbo.maxpoolsize=0
    to use only 1 connection in the ConnectionPool.
    When I run my application, I see that around 6 connections being created everytime out of which 3 remains open when I close my application.
    Is there anyway I can make sure that my application uses only 1 connection ??
    I would appreciate any help on this.
    Please let me know if anyone is aware of this issue.
    Thanks in advance
    null

    Hi,
    Recently I noticed that, my application is taking a NEW connection whenever it needs to access the database and keeps it in hold until I quit my application. Some of them are not getting closed even after I close my application.
    Is there anyway by which I can restrict my ApplicationModule to use only one connection to execute all ViewObjects instead of creating a new one everytime ?
    Any help would be greatly appreciated.
    Thanks

  • BC4J Bind Problem

    Hello,
    I am working with BC4J view objects
    I created the view object using the query with the bind variables
    select deptno from emp where salary = :1 and empno>= :2 and someothercolumn = :1
    I set the bind variables like
    viewObject.setWhereClauseParam(0, 10000);
    viewObject.setWhereClauseParam(1, 10);
    viewObject.executeQuery();
    The view executed with out the problem and gave the result.
    Now if I create the view with the query
    select deptno from emp where salary = :1 and someothercolumn = :1 and empno>= :2
    ( The replaced the columns )
    I set the bind variables like
    viewObject.setWhereClauseParam(0, 10000);
    viewObject.setWhereClauseParam(1, 10);
    viewObject.executeQuery();
    When i execute the query, it throws an expection
    "java.sql.SQLException: ORA-01008: not all variables bound"
    Please let me know what should be done to correct the problem
    Thanks in Advance
    Senthil

    You're hitting an Oracle JDBC Driver bug regarding repeating the same bind variable name in the SQL statement.
    As a workaround, instead of:
    select deptno from emp where salary = :1 and someothercolumn = :1 and empno>= :2 do this instead:
    select deptno from emp where salary = :1 and someothercolumn = :2 and empno>= :3 and write code like this:
    viewObject.setWhereClauseParam(0, 10000);
    viewObject.setWhereClauseParam(0, 10000);
    viewObject.setWhereClauseParam(1, 10); That is, avoid repeating the same bind variable name in the SQL statement.

  • [bug/question] UIPickerView

    I am playing around with UIPickerView/UIPickerTable... and I noticed something strange:
    Even though I already set the multiple selection to NO
    [[ pickerView setAllowsMultipleSelection: NO ]];
    In some cases, I can still select more than 1 row. Let's say I've selected row #1. Now I scroll down the picker until I can no longer see #1. Now the picker displays #2 -> #4, and if I select #4 or #5 etc... then it can be selected!
    Screenshot (here I scrolled up a bit to show that both row #1 and #4 are selected:
    http://i73.photobucket.com/albums/i215/vieestchien/photo.jpg
    Is this a bug or is there anything I did wrong? If it is indeed a bug, where can I report it?
    Another question: to programmatically select a row, what method can I use? I tried the following:
    [[ pickerView selectRow: 5 inColumn: 0 animated: YES ]]
    The picker is indeed scrolled to row 5, but that row is not selected (no checked icon, no highlight).
    Message was edited by: vieestchien

    Logged Bug No: 5126047 QUOTE IN COMMENTS GETS COUNTED IN ESCAPE PROCESSING SO
    BECOMES ':1'
    There is a jdbc base bug 3975915 and a workaround suggested (turn off escape processing at a statement level).
    --Turloch                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

Maybe you are looking for

  • Is it possible to develop the control charts in WAD.

    Hi Gurus and Experts We need your suggestions to go futhure with our requirement. Right now KPI's are currently displayed in graphical form with the ability to drill down into WO's( Work orders) from the graph page. our new requirement is to get exac

  • Reg.Stock account instead of consumption account when PO creation

    Dear Experts When I create Purchase order with account assignment(E) the material account should go to stock account.But as per sap system it goes to consumption account. I have posted this quesition morethan 20 times in different different ways,nobo

  • Cheque printing only on first page

    Hi, Iam a newbie in XML/BI Publisher. I am doing a AP Cheque printing. In the report I have to print the invoice lines and at the bottom of first page I need to print the cheque. I did all necessary stuffs for this in the RTF template. But now the ch

  • Function to compare IT0014

    Hi All, Can anyone help me with the operation that can be used to Query on the Date specification. Thanks and Reagrds Swati

  • How to sequence canvasses, SVGForms, SVGSplashScreens

    I have made a program, that "walks" , through a few input phases. Purely sequentially: 1: the splash, that times out after 2 seconds and at DISMISS_COMMAND steps to a 2: Canvas, that processes exactly 3 keyPressed events and then automatically jumps