StackOverflow in weblogic.jdbc.base.BaseSQLParser

Actually the method parseAlmostAnything throws a StackOverflow exception
when a sql statement containing many ? is given.
For example, using the weblogic 8.1SP2 informix driver, the following SQL request
generates a StackOverflow :
select snwcservic0_.X1624_0_cmMo as x0_0_, snwcservic0_.X1624_1_cmMo as x0_1_,
snwcservic0_.X1607_17_argOs as x1_0_, snwcservic0_.X1607_18_argLayer as x1_1_,
snwcservic0_.X1607_19_argClass as x1_2_, snwcservic0_.X1607_20_sistentId as x1_3_
from snwcservicevers snwcservic0_ where (snwcservic0_.X1624_1_cmMo in(? , ? ,
.. (there are exactly
3386 ? in the request) ...))
There are exacly 3386 ? in this request. The IBM informix driver correctly handles
this request,
as long as there are fewer than 16000 or so ? in the request (think it's a SQL-I
message length
limitation of 64 K or something like), then it clearly tells us that the request
is too long.
didn't find how to log it as a bug, didn't have permissions in Create Case area
(I'm currently using an evaluation copy to test whether weblogic is the right
way to go).
thank you in advance for any advice (patch, workaround...). Using temp tables
instead of
in may work, but needs quite a rewrite of the part of the framework we are developing
which
deals with sql generation, and not sure of the comportment of informix if many
threads
concurrently create/delete table in temp space.
sincerely yours
Emmanuel Ligne

I generated a simple reproducer for this.
I will enter a bug report on it.
This seems to happen for all of the new type 4 drivers except for SQL
Server.
"Emmanuel Ligné" <[email protected]> wrote in message
news:4003d39b$[email protected]..
>
Actually the method parseAlmostAnything throws a StackOverflow exception
when a sql statement containing many ? is given.
For example, using the weblogic 8.1SP2 informix driver, the following SQLrequest
generates a StackOverflow :
select snwcservic0_.X1624_0_cmMo as x0_0_, snwcservic0_.X1624_1_cmMo asx0_1_,
snwcservic0_.X1607_17_argOs as x1_0_, snwcservic0_.X1607_18_argLayer asx1_1_,
snwcservic0_.X1607_19_argClass as x1_2_, snwcservic0_.X1607_20_sistentIdas x1_3_
from snwcservicevers snwcservic0_ where (snwcservic0_.X1624_1_cmMo in(? ,? ,
.. (there are exactly
3386 ? in the request) ...))
There are exacly 3386 ? in this request. The IBM informix driver correctlyhandles
this request,
as long as there are fewer than 16000 or so ? in the request (think it's aSQL-I
message length
limitation of 64 K or something like), then it clearly tells us that therequest
is too long.
didn't find how to log it as a bug, didn't have permissions in Create Casearea
>
(I'm currently using an evaluation copy to test whether weblogic is theright
way to go).
thank you in advance for any advice (patch, workaround...). Using temptables
instead of
in may work, but needs quite a rewrite of the part of the framework we aredeveloping
which
deals with sql generation, and not sure of the comportment of informix ifmany
threads
concurrently create/delete table in temp space.
sincerely yours
Emmanuel Ligne

Similar Messages

  • StackOverflow in weblogic.jdbc.base.BaseSqlParser#parseAlmostAnything

    I have some sql which looks like 'select a, b, c from d where c in (
    val1, val2, val3, ...., valn )' where n is 2400. The string itself is
    18986 characters long. When I attempt to execute this string, I get the
    exception below.
    This is with WLS81SP2 and the WebLogic Informix drivers shipped with
    WLS81SP2.
    Any advice? I am pursing an alternative of using a temporary table, but
    thought I'd touch base with the group for your thoughts.
    Caused by: javax.ejb.TransactionRolledbackLocalException: EJB Exception:
    ; nested exception is: javax.ejb.TransactionRolledbackLocalException:
    EJB Exception: : java.lang.StackOverflowError
         at java.lang.StringBuffer.length(StringBuffer.java:141)
         at java.lang.String.<init>(String.java:422)
         at java.lang.StringBuffer.toString(StringBuffer.java:1235)
         at weblogic.jdbc.base.BaseSQLScanner.setEndOfToken(Unknown Source)
         at
    weblogic.jdbc.base.BaseSQLScanner$BaseSQLScannerIDOrKeywordState.processChar(Unknown
    Source)
         at weblogic.jdbc.base.BaseSQLScanner.getNextToken(Unknown Source)
         at weblogic.jdbc.base.BaseSQLParser.matchWhiteSpaceOrComment(Unknown
    Source)
         at weblogic.jdbc.base.BaseSQLParser.matchWhiteSpaceOrComment(Unknown
    Source)
         at weblogic.jdbc.base.BaseSQLParser.matchSpecialCharTerminal(Unknown
    Source)
         at weblogic.jdbc.base.BaseSQLParser.matchCommaTerminal(Unknown Source)
         at weblogic.jdbc.base.BaseSQLParser.parseAlmostAnything(Unknown Source)
         [ repeat above lines 1013 times ]
         at
    weblogic.ejb20.internal.EJBRuntimeUtils.throwTransactionRolledbackLocal(EJBRuntimeUtils.java:248)
         at
    weblogic.ejb20.internal.BaseEJBLocalHome.handleSystemException(BaseEJBLocalHome.java:247)
         at
    weblogic.ejb20.internal.BaseEJBLocalObject.postInvoke(BaseEJBLocalObject.java:327)
         at
    org.ecmc.nib.model.jdbc.SelectFacade_nrlw90_ELOImpl.localQueryScheduledSteps(SelectFacade_nrlw90_ELOImpl.java:830)
         at
    org.ecmc.nib.model.AdminFacadeBean.lookupScheduledSteps(AdminFacadeBean.java:508)
         at
    org.ecmc.nib.model.AdminFacade_17g2j4_EOImpl.lookupScheduledSteps(AdminFacade_17g2j4_EOImpl.java:100)
         at org.ecmc.nib.model.AdminFacade_17g2j4_EOImpl_WLSkel.invoke(Unknown
    Source)
         at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:477)
         at
    weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java:108)
         at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:420)
         at
    weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:353)
         at
    weblogic.security.service.SecurityManager.runAs(SecurityManager.java:144)
         at
    weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:415)
         at
    weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:30)
         at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)

    Jay Schmidgall wrote:
    I have some sql which looks like 'select a, b, c from d where c in (
    val1, val2, val3, ...., valn )' where n is 2400. The string itself is
    18986 characters long. When I attempt to execute this string, I get the
    exception below.
    This is with WLS81SP2 and the WebLogic Informix drivers shipped with
    WLS81SP2.
    Any advice? I am pursing an alternative of using a temporary table, but
    thought I'd touch base with the group for your thoughts.
    Caused by: javax.ejb.TransactionRolledbackLocalException: EJB Exception:
    ; nested exception is: javax.ejb.TransactionRolledbackLocalException:
    EJB Exception: : java.lang.StackOverflowErrorHi. Yes, I believe this is a known-and-fixed bug. Contact BEA support
    for the latest driver package for the weblogic drivers. You need to get
    the whole package.
    Joe
    at java.lang.StringBuffer.length(StringBuffer.java:141)
    at java.lang.String.<init>(String.java:422)
    at java.lang.StringBuffer.toString(StringBuffer.java:1235)
    at weblogic.jdbc.base.BaseSQLScanner.setEndOfToken(Unknown Source)
    at
    weblogic.jdbc.base.BaseSQLScanner$BaseSQLScannerIDOrKeywordState.processChar(Unknown
    Source)
    at weblogic.jdbc.base.BaseSQLScanner.getNextToken(Unknown Source)
    at weblogic.jdbc.base.BaseSQLParser.matchWhiteSpaceOrComment(Unknown
    Source)
    at weblogic.jdbc.base.BaseSQLParser.matchWhiteSpaceOrComment(Unknown
    Source)
    at weblogic.jdbc.base.BaseSQLParser.matchSpecialCharTerminal(Unknown
    Source)
    at weblogic.jdbc.base.BaseSQLParser.matchCommaTerminal(Unknown Source)
    at weblogic.jdbc.base.BaseSQLParser.parseAlmostAnything(Unknown Source)
    [ repeat above lines 1013 times ]
    at
    weblogic.ejb20.internal.EJBRuntimeUtils.throwTransactionRolledbackLocal(EJBRuntimeUtils.java:248)
    at
    weblogic.ejb20.internal.BaseEJBLocalHome.handleSystemException(BaseEJBLocalHome.java:247)
    at
    weblogic.ejb20.internal.BaseEJBLocalObject.postInvoke(BaseEJBLocalObject.java:327)
    at
    org.ecmc.nib.model.jdbc.SelectFacade_nrlw90_ELOImpl.localQueryScheduledSteps(SelectFacade_nrlw90_ELOImpl.java:830)
    at
    org.ecmc.nib.model.AdminFacadeBean.lookupScheduledSteps(AdminFacadeBean.java:508)
    at
    org.ecmc.nib.model.AdminFacade_17g2j4_EOImpl.lookupScheduledSteps(AdminFacade_17g2j4_EOImpl.java:100)
    at
    org.ecmc.nib.model.AdminFacade_17g2j4_EOImpl_WLSkel.invoke(Unknown Source)
    at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:477)
    at
    weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java:108)
    at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:420)
    at
    weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:353)
    at
    weblogic.security.service.SecurityManager.runAs(SecurityManager.java:144)
    at
    weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:415)
    at
    weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:30)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)

  • How can i use the weblogic jdbc driver for sqlserver?

    hello
    i have downloaded and installed the weblogic on my windows2000 server,then i want to use the weblogic jdbc driver for sqlserver2000 outside of the weblogic,as follow:
    1 add following string to my classpath environment of the wndows2000: E:\bea\wlserver6.1\lib\mssqlserver4v65.jar
    2 then i write a test program as:
    import weblogic.jdbc.mssqlserver4.Driver;
    import java.sql.*;
    public class test{
    public static void main(String argv[]){
    try{ Class.forName("weblogic.jdbc.mssqlserver4.Driver");
    Connection
    conn=DriverManager.getConnection"jdbc:weblogic:mssqlserver4:localhost:1433","sa",""); }catch(Exception e){ System.out.println(e.getMessage()); }
    4 when i execute it,it throw a exception:
    Exception in thread "main" java.lang.NoClassDefFoundError: weblogic/version at weblogic.jdbc.mssqlserver4.TdsStatement.getLicenseStr(TdsStatement.java:2665) at weblogic.jdbc.mssqlserver4.TdsStatement.microsoftLogin(TdsStatement.java:2474) at weblogic.jdbc.mssqlserver4.MicrosoftConnection.beginLogin(MicrosoftConnection.java:42) at weblogic.jdbc.mssqlserver4.TdsConnection.login(TdsConnection.java:57) at weblogic.jdbc.mssqlserver4.MicrosoftConnection.login(MicrosoftConnection.java:53) at weblogic.jdbc.mssqlserver4.BaseConnection.prepareConnection(BaseConnection.java:187) at weblogic.jdbc.mssqlserver4.Driver.newConnection(Driver.java:34) at weblogic.jdbc.mssqlserver4.ConnectDriver.connect(ConnectDriver.java:151) at java.sql.DriverManager.getConnection(DriverManager.java:517) at java.sql.DriverManager.getConnection(DriverManager.java:177) at test.main(test.java:7)
    who can help me?thank you!

    Hi,
    Mail me the jar file as I am using Weblogic 6.1 to my email id [email protected]
    Else tell me the site from where u have downloaded and i will do the same.
    I will test the same and let you know.
    Thanks,
    Seetesh

  • OIM 9.1.0.2 - Weblogic JDBC Multi Data Sources for Oracle RAC

    Does OIM OIM 9.1.0.2 BP07 support Weblogic JDBC Multi Data Sources (Services>JDBC>Multi Data Sources) for Oracle RAC instead of inserting the "Oracle RAC JDBC URL" on JDBC Data Sources for xlDS and xlXADS (Services>JDBC>Data Sources> xlDS|xlXADS > Connection Poll> URL) ?
    If yes, is there are any other modifications that need to be made on OIM, or just changing the data sources?

    Yes, it's supported. You install against one instance directly of the Rac Server. Then you update the config.xml file and the jdbc resource in your weblogic server with the full rac address. It is documented for installation against RAC. http://docs.oracle.com/cd/E14049_01/doc.9101/e14047/database.htm#insertedID2
    -Kevin

  • Build Issue(package weblogic.jdbc.vendor.oracle does not exist) weblogic10

    Hi All,
    I am getting below build error. I am migrating weblogic 10. Which jar file contains this interface: weblogic.jdbc.vendor.oracle.OracleThinClob?
    Error:
    package weblogic.jdbc.vendor.oracle does not exist [javac] if (theClob instanceof weblogic.jdbc.vendor.oracle.OracleThinClob)
    I already got weblogic.jar file from weblogic 10.
    Thanks,
    Srinivas

    Srinivas U wrote:
    Hi All,
    I am getting below build error. I am migrating weblogic 10. Which jar file contains this interface: weblogic.jdbc.vendor.oracle.OracleThinClob?
    Error:
    package weblogic.jdbc.vendor.oracle does not exist [javac] if (theClob instanceof weblogic.jdbc.vendor.oracle.OracleThinClob)
    I already got weblogic.jar file from weblogic 10.
    Thanks,
    SrinivasIt's in the datasource module/jar: modules/com.bea.core.datasource_1.0.0.0.jar

  • NullPointerException in weblogic.jdbc.rmi.SerialConnection.createStatement()

    Hello,
    we are running WLS 6.1 SP2. The following code sometimes (rather rarely) throws
    a NullPointerException:
    Connection dbConnection = DBUtil.getDBConnection();//here we get the Connection
    stmt = dbConnection.createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_UPDATABLE);//it's
    where NPE happens
    The error report says:
    java.sql.SQLException:
    java.lang.NullPointerException at
    weblogic.jdbc.rmi.SerialConnection.createStatement(SerialConnection.java:396)
    So, I think, this is something in WebLogic's code... Is this a known issue (I
    couldn't find a similar report in the newsgroup)? Is there a workaround?
    regards,
    Vitaly

    Vitaly Sourikov wrote:
    "Vitaly Sourikov" <[email protected]> wrote:
    The patches that we use with SP2 are
    CR061106_61sp2.jar
    CR072612_61sp2.jar
    CR077919_61sp2.jar
    As far as we know, those fixes (or some of them) were not introduced in SP4. Are
    there new versions of the patches for SP4?I have found that all these bugs are fixed in sp4, so no patches are needed if you
    upgrade to 6.1sp4.
    Joe
    >
    >
    regards,
    Vitaly
    Hi Joseph,
    Thank you for the reply. Unfortunately, we cannot move to SP3 or SP4
    - they have
    conflicts with other patches from WebLogic we use. This error happens
    rather rarely.
    In most of cases this very stuff works. But it would be intresing to
    have this
    patch for diagnostics, in case of future failures. Would you send it
    to me, please?
    Thank you in advance,
    Vitaly
    Joseph Weinstein <[email protected]> wrote:
    Vitaly Sourikov wrote:
    Hello,
    we are running WLS 6.1 SP2. The following code sometimes (rather rarely)throws
    a NullPointerException:
    Connection dbConnection = DBUtil.getDBConnection();//here we get theConnection
    stmt = dbConnection.createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_UPDATABLE);//it's
    where NPE happens
    The error report says:
    java.sql.SQLException:
    java.lang.NullPointerException at
    weblogic.jdbc.rmi.SerialConnection.createStatement(SerialConnection.java:396)
    So, I think, this is something in WebLogic's code... Is this a knownissue (I
    couldn't find a similar report in the newsgroup)? Is there a workaround?Hi. The NPE is probably happening in the actual DBMS driver. What is
    happening
    is that the rmi driver is having to catch any non-SQLException, andthrow
    a SQLException
    with the message of the original exception. Unfortunately, the fullstacktrace
    of the
    original NPE is lost. If you want, I can send you a small diagnostic
    patch, which will
    just make the rmi object retain the whole original stacktrace in the
    exception it throws,
    and that will help lead to the real problem.
    This may well be a bug that was fixed in sp3 or 4. Is it possible
    for you to upgrade to
    the latest stuff?
    Joe
    regards,
    Vitaly

  • ClassCastException: weblogic.jdbc.rmi.SerialResultSet

    HI,
    I am using WebLogic 6.0 SP2 connection pooling to get CLOB data from Oracle database.
    It is working fine to get the connection and get non-CLOB data like string, but
    when I retrieve the CLOB column in my program such as, theClob = ((oracle.jdbc.OracleResultSet)
    rs).getCLOB(1),
    Weblogic throws ClassCastException: weblogic.jdbc.rmi.SerialResultSet, does anybody
    experience the same problem ? How can I get around this problem ?
    Thanks
    John

    Hi,
    I've got the same error. The only diference is that I read BLOBs out of the table
    ((oracle.jdbc.OracleResultSet)rset).getBLOB(1) from oracle.jdbc.OracleResultSet).
    Best regards,
    Kai
    "John Chen" <[email protected]> wrote:
    >
    HI,
    I am using WebLogic 6.0 SP2 connection pooling to get CLOB data from
    Oracle database.
    It is working fine to get the connection and get non-CLOB data like string,
    but
    when I retrieve the CLOB column in my program such as, theClob = ((oracle.jdbc.OracleResultSet)
    rs).getCLOB(1),
    Weblogic throws ClassCastException: weblogic.jdbc.rmi.SerialResultSet,
    does anybody
    experience the same problem ? How can I get around this problem ?
    Thanks
    John

  • Major performance problem in weblogic jdbc

    I ran a test which selected ~1000 rows from an oracle database table. The
    code ran in 4 seconds when I used the Oracle driver directly:
    Class.forName("oracle.jdbc.driver.OracleDriver");
    Connection connection = DriverManager.getConnection(URL, "XXX", "XXX");
    When I changed the code to get the connection from weblogic, it took 128
    SECONDS!!!!
    weblogic.jdbc.connectionPool.pointclick=\
    url=jdbc:oracle:thin:@XXX:dev,\
    driver=oracle.jdbc.driver.OracleDriver,\
    initialCapacity=1,\
    maxCapacity=2,\
    capacityIncrement=1,\
    props=user=XXX;password=XXX
    weblogic.jdbc.TXDataSource.weblogic.jdbc.jts.pointclick=pointclick
    Properties properties = new Properties();
    properties.put(Context.INITIAL_CONTEXT_FACTORY,
    "weblogic.jndi.WLInitialContextFactory");
    Context context = new InitialContext(properties);
    try
    DataSource dataSource = (DataSource)context.lookup(NAME);
    Connection connection = dataSource.getConnection();
    // if(!autoCommit)
    // connection.setAutoCommit(false);
    return connection;
    finally
    context.close();
    The strangest thing is that when I used the weblogic pool, if I executed
    "select column from table" it took 128 seconds, but "select * from table"
    only took 32 seconds. Why would it take longer to process less data?
    And more importantly, why does the weblogic connection take so damn long?
    Thanks for your help.
    Sean Rohead

    Hey, I finally managed to get JDBC logging up and running! Had to do with
    permission setting, adding the following entry to weblogic.policy:
    permission java.sql.SQLPermission "setLog";
    Boy are you right; JDBC logging is slow as mud! Good thing we use BMP
    entity beans, so I guess I can log JDBC calls myself in the
    ejbCreate/Load/Store/Remove hooks!
    Gene Chuang
    Teach the world. Join Kiko!
    http://www.kiko.com/profile/join.jsp?refcode=TAF-gchuang
    "Joseph Weinstein" <[email protected]> wrote in message
    news:[email protected]...
    >
    >
    Gene Chuang wrote:
    Hey, I've tried setting weblogic.jdbc.enableLogFile=true before and
    can't
    even get the server to start up! Since JDBC logging is not only slow,but
    buggy,JDBC logging is slow for the reasons described, but not buggy as such.
    is there a possibility Weblogic can implement a JDBC log for a future
    release?
    Seems like Weblogic can catch SQL calls much easier than we can,
    especially for CMP!It is conceivable that our pool drivers (pool,jts,rmi etc) couldindependently
    log SQL for debugging purposes, but we need to retain the semantics ofturning
    on jdbc logging, which in any case will continue to emanate from any JDBCdriver.
    In any case, we wouldn't do anything differently that DriverManager doesfor
    simply writing to a file, which would be serialized by the stream anyway.
    Joe
    Gene Chuang
    Teach the world. Join Kiko!
    http://www.kiko.com/profile/join.jsp?refcode=TAF-gchuang
    "Joseph Weinstein" <[email protected]> wrote in message
    news:[email protected]...
    Sean Rohead wrote:
    OK, disregard everything I said in my last post. The REAL reason
    for
    the
    slowdown is that I had "weblogic.jdbc.enableLogFile=true" in my
    weblogic.properties. So, there is nothing wrong with the JNDIDataSource
    object. Sorry if I misled anyone.
    Still, it does seem rather excessive for logging to cause a 30Xslowdown.
    Someone at BEA ought to take a closer look at that...Known issue, not ours.
    JDBC logging collect anything logged by any JDBC driver or by anySQLException.
    These all call DriverManager.println() which is class synchronized in
    the
    JVM,
    so this will serialize most JDBC threads, and slow the server down a
    lot,
    independently of the disk I/O needed to grow the file.
    Joe
    Sean Rohead
    "Sean Rohead" <[email protected]> wrote in message
    news:[email protected]...
    Nice work, Charlie!
    When I just connected to the pool directly, it ran fine. I am
    guessing
    that
    the DataSource returns a connection that connects first to the
    server
    via
    RMI and then to the database. I am trying to obtain a JDBC
    connection
    for
    use in EJB and servlets, so this is clearly overkill. The
    question I
    now
    have is what is the best way to obtain a transactional
    connection
    without
    the overhead described above? Can I somehow create a
    transactional
    DataSource that doesn't go over RMI? Or, should I just use thejts
    driver
    directly? I tried the following code, but got an error:
    Driver driver = new weblogic.jdbc.jts.Driver();
    Properties properties = new Properties();
    properties.put("connectionPoolID", "pointclick");
    Connection connection = driver.connect("jdbc:weblogic:jts",properties);
    The error was:
    java.sql.SQLException: The url cannot be null
    atjava.sql.DriverManager.getConnection(DriverManager.java:434)
    atjava.sql.DriverManager.getConnection(DriverManager.java:106)
    at weblogic.jdbcbase.jts.Driver.connect(Driver.java:213)
    at
    pointclick.jdbc.ConnectionFactory.getConnection(ConnectionFactory.java:24)
    atpointclick.servlet.TestServlet.doGet(TestServlet.java:36)
    atjavax.servlet.http.HttpServlet.service(HttpServlet.java:740)
    atjavax.servlet.http.HttpServlet.service(HttpServlet.java:865)
    at
    weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
    :124)
    at
    weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImp
    l.java:744)
    at
    weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImp
    l.java:692)
    at
    weblogic.servlet.internal.ServletContextManager.invokeServlet(ServletContext
    Manager.java:251)
    at
    weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.java:363)
    at
    weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:263)
    atweblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    >>>>>
    >>>>>
    I copied the code above from
    http://www.weblogic.com/docs51/classdocs/jts_driver.html and there
    was
    no
    mention of setting any other properties. If I create the
    connection
    this
    way from an EJB, will it still participate in the transaction
    started
    by
    the
    EJB container?
    Sean Rohead
    "Charlie Crook" <[email protected]> wrote in message
    news:[email protected]...
    Your Oracle example is also using JNDI to obtain the connection;
    not
    just
    getting a connection from a pool. So you've actually changed 2conditions
    ( non-pool to pool, non-JNDI to JNDI ). So both of these should
    be
    considered as suspects for the performance.
    "Sean Rohead" <[email protected]> wrote in message
    news:[email protected]...
    I ran a test which selected ~1000 rows from an oracle database
    table.
    The
    code ran in 4 seconds when I used the Oracle driver directly:
    Class.forName("oracle.jdbc.driver.OracleDriver");
    Connection connection = DriverManager.getConnection(URL,
    "XXX",
    "XXX");
    When I changed the code to get the connection from weblogic,
    it
    took
    128
    SECONDS!!!!
    weblogic.jdbc.connectionPool.pointclick=\
    url=jdbc:oracle:thin:@XXX:dev,\
    driver=oracle.jdbc.driver.OracleDriver,\
    initialCapacity=1,\
    maxCapacity=2,\
    capacityIncrement=1,\
    props=user=XXX;password=XXX
    weblogic.jdbc.TXDataSource.weblogic.jdbc.jts.pointclick=pointclick
    >>>>>>>
    >>>>>>>
    Properties properties = new Properties();
    properties.put(Context.INITIAL_CONTEXT_FACTORY,
    "weblogic.jndi.WLInitialContextFactory");
    Context context = new InitialContext(properties);
    try
    DataSource dataSource = (DataSource)context.lookup(NAME);
    Connection connection = dataSource.getConnection();
    // if(!autoCommit)
    // connection.setAutoCommit(false);
    return connection;
    finally
    context.close();
    The strangest thing is that when I used the weblogic pool, ifI
    executed
    "select column from table" it took 128 seconds, but "select *
    from
    table"
    only took 32 seconds. Why would it take longer to process
    less
    data?
    And more importantly, why does the weblogic connection take sodamn
    long?
    Thanks for your help.
    Sean Rohead
    PS: Folks: BEA WebLogic is in S.F., and now has some entry-level
    positions
    for
    people who want to work with Java and E-Commerce infrastructure
    products.
    Send
    resumes to [email protected]
    The Weblogic Application Server from BEA
    JavaWorld Editor's Choice Award: Best Web Application Server
    Java Developer's Journal Editor's Choice Award: Best Web ApplicationServer
    Crossroads A-List Award: Rapid Application Development Tools for
    Java
    Intelligent Enterprise RealWare: Best Application Using a ComponentArchitecture
    http://www.bea.com/press/awards_weblogic.html
    PS: Folks: BEA WebLogic is in S.F., and now has some entry-level positionsfor
    people who want to work with Java and E-Commerce infrastructure products.Send
    resumes to [email protected]
    The Weblogic Application Server from BEA
    JavaWorld Editor's Choice Award: Best Web Application Server
    Java Developer's Journal Editor's Choice Award: Best Web ApplicationServer
    Crossroads A-List Award: Rapid Application Development Tools for Java
    Intelligent Enterprise RealWare: Best Application Using a ComponentArchitecture
    http://www.bea.com/press/awards_weblogic.html

  • Many procs results in: weblogic.jdbc.extensions.PoolDisabledSQLException

    We have an issue whenever we submit say 100 or more processes at the same time to be started.
    The first processes all start and work fine.
    But at some point things go wrong.
    In the log directory under our SOA project, we find these error messages:
    Fault ID service:90091
    Fault Time 26-Apr-2011 09:06:20
    Non Recoverable System Fault :
    Exception [TOPLINK-4002] (Oracle TopLink - 11g Release 1 (11.1.1.4.0) (Build 101210)): oracle.toplink.exceptions.DatabaseException Internal >Exception:
    weblogic.jdbc.extensions.PoolDisabledSQLException: weblogic.common.resourcepool.ResourceDisabledException: Pool SOALocalTxDataSource is >Suspended, cannot allocate resources to applications..
    Error Code: 0Followed a bit later by this:
    Fault ID service:90101
    Fault Time 26-Apr-2011 09:06:58
    Non Recoverable System Fault :
    Exception [TOPLINK-4002] (Oracle TopLink - 11g Release 1 (11.1.1.4.0) (Build 101210)): oracle.toplink.exceptions.DatabaseException >Internal Exception:
    weblogic.jdbc.extensions.ConnectionDeadSQLException: weblogic.common.resourcepool.ResourceDeadException: >0:weblogic.common.ResourceException: Could not create pool connection.
    The DBMS driver exception was: IO-fout: Socket read timed out Error Code: 0 Call:
    SQLCall(INSERT INTO COMPOSITE_INSTANCE (ID, COMPOSITE_DN, CONVERSATION_ID, UPDATED_BY, PARENT_ID, CREATED_TIME, TAGS, ECID, INDEX6, TEST_RUN_NAME, INDEX4, TEST_RUN_ID, INDEX2, TEST_SUITE, BUSINESS_STATUS, TEST_CASE, BATCH_ID, SOURCE_NAME, UPDATED_TIME, SOURCE_TYPE, TITLE, SOURCE_ACTION_TYPE, INDEX3, SOURCE_ACTION_NAME, BATCH_INDEX, STATE, CREATED_BY, LIVE_INSTANCES, INDEX1, STATE_COUNT, INDEX5, VERSION, HAS_ASSOC, PARTITION_DATE) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?))
    Query: InsertObjectQuery([email protected]12d437)We have a feeling that we need to throttle the creation of these processes.
    Appreciate any ideas we might try to fix this issue.

    We have set the 'maximum capacity' of that data source to 500.
    When we submit 100 BPEL instances to be started, we see (by monitoring v$session inside the database) that the number of sessions opened by BPEL never goes beyond a few (5 to 10) database sessions.
    Yet we still encounter this 'pool is suspended' error:
    weblogic.jdbc.extensions.PoolDisabledSQLException: weblogic.common.resourcepool.ResourceDisabledException:
    Pool SOALocalTxDataSource is uspended, cannot allocate resources to applications..We can then reset the status of this pool back to running. It then runs for a while, but after 5 - 10 minutes the status flips back to 'suspended' again.
    In search of some kind of workaround, we have also set (in composite.xml) the minimumDelayBetweenMessages to 2 seconds, just to ensure that we throttle the creation of our BPEL processes:
    <service name="ReceiveFlowEvent" ui:wsdlLocation="ReceiveFlowEvent.wsdl">
        <interface.wsdl interface="http://xmlns.oracle.com/pcbpel/adapter/aq/PASSOA/WorkflowDispatcher/ReceiveFlowEvent#wsdl.interface(Dequeue_ptt)"/>
        <binding.jca config="ReceiveFlowEvent_aq.jca">
            <property name="jca.retry.count">3</property>
            <property name="jca.retry.interval">5</property>
            <!--property name="jca.retry.interval">20</property-->
            <!--property name="jca.retry.backoff">2</property-->
            <property name="minimumDelayBetweenMessages">2000</property>
            <property name="adapter.aq.dequeue.threads">1</property>
        </binding.jca>
      </service>
    ...Any more clues are appreciated.
    Edited by: Toon Koppelaars on May 9, 2011 4:45 PM

  • Java.lang.ClassCastException: weblogic.jdbc.wrapper.Blob_oracle_sql_BLOB??

    Hello. I'm trying to bring back a BLOB object from a PL/SQL procedure. I keep getting a class cast exception when I do it
    java.lang.ClassCastException: weblogic.jdbc.wrapper.Blob_oracle_sql_BLOB cannot be cast to oracle.sql.BLOB
    I get similar results with oracle.sql.BLOB or java.sql.Blob.
    What I've noticed is that when I'm not using a JDBC URL with my AM to do the SQL it does not fail. It's when I change to a JDBC Datasource I get the class cast exception. Any ideas?
    Thanks, Graeme.

    In the connection pool uncheck the property "Wrap Data Types".
    By default, data type objects for Array, Blob, Clob, NClob, Ref, SQLXML, and Struct, plus ParameterMetaData and ResultSetMetaData objects are wrapped with a WebLogic wrapper. This allows for features like debugging and connection usage to be done by the server.
    The wrapping can be turned off by setting this value to false. This improves performance, in some cases significantly, and allows for the application to use the native driver objects directly.

  • Weblogic.jdbc.wrapper.Blob_oracle_sql_BLOB ERROR

    Hi,
    we have an application developed with Oracle ADF with several CRUD screens. We deploy it on Weblogic and use as database oracle10G 10.2.0.4.
    On one specific screen, a delete button fails and gives following error:
    ERROR: weblogic.jdbc.wrapper.Blob_oracle_sql_BLOB
    Anybody who encountered a similiar problem and did you find a solution?
    Cheers,
    Robby

    Hi. The issue is that some oracle-specific BLOB JDBC code (which
    requires casting to concrete Oracle classes) is conflicting with
    WebLogic's prudent and correct behavior of wrapping every
    java.sql object delivered from it's WLS datasources. If you are
    able to alter the relevant JDBC code, I can describe what you
    can do.
    Joe

  • Which jar is weblogic.jdbc.sqlserver.SQLServerDriver located?

    Hi,
    I am just writing a test program in Eclipse and tried to connect to MS SQL Server. I added weblogic.jar to project lib. But it complaints ClassNotFound: weblogic.jdbc.sqlserver.SQLServerDriver. where is it?
    Found out I have to have wlbase.jar wlclient.jar wlutil.jar wlsqlserver.jar.
    Edited by Holy at 01/29/2007 12:05 PM

    test test wrote:
    Hi,
    I am just writing a test program in Eclipse and tried to connect to MS SQL Server. I added weblogic.jar to project lib. But it complaints ClassNotFound: weblogic.jdbc.sqlserver.SQLServerDriver. where is it?
    Found out I have to have wlbase.jar wlclient.jar wlutil.jar wlsqlserver.jar.You need wlbase, wlutil, wlsqlserver, and weblogic jars.
    Joe

  • Java.lang.ClassNotFoundException: weblogic/jdbc/mssqlserver4/Driver

    Hello,
    I am moving my database from Sybase to SQL Server. I have a program that ran fine with JConnect driver (Sybase) on both unix and windows. But now when I try to use the weblogic driver to connect to SQL Server the program fails. I am 100% positive that the weblogic drive is in the classpath. Whether the weblogic drive is in the classpath or not I get the same error:
    Unexpected error:java.lang.ClassNotFoundException: weblogic/jdbc/mssqlserver4/Driver
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:124)
    at com.trilogy.tools.core.DBUtil.loadDriver(DBUtil.java:16)
    at com.trilogy.loader.core.LoadInitUtil.<init>(Compiled Code)
    at com.trilogy.loader.mass.MassInitUtil.<init>(MassInitUtil.java:15)
    at com.trilogy.loader.mass.Loader2CLI.execute(Compiled Code)
    at com.trilogy.tools.core.CLIBase.execute(CLIBase.java:45)
    at com.trilogy.loader.mass.Loader2CLI.main(Loader2CLI.java:805)
    java.lang.NullPointerException
    at com.trilogy.loader.mass.Loader2CLI.execute(Compiled Code)
    at com.trilogy.tools.core.CLIBase.execute(CLIBase.java:45)
    at com.trilogy.loader.mass.Loader2CLI.main(Loader2CLI.java:805)
    Pease help me fix this problem. I am not sure why the weblogic driver is not working. Thanks.

    The error message says it can't find a class named "weblogic.jdbc.mssqlserver4.Driver". That looks rather odd to me.
    Are you sure that you defined the connection information correctly in the configuration file?

  • WEBLOGIC JDBC issue

    Hi,
    I have weblogic 10gr3 installed on my machine and when trying to connect to DB linked with managed server, it is throwing error as
    Apr 5, 2012 5:13:33 PM IST> <Failure occurred in the execution of deployment request with ID '1333626211843' for task 'weblogic.deploy.configChangeTask.6'. Error is: 'weblogic.application.ModuleException: '
    weblogic.application.ModuleException:
    at weblogic.jdbc.module.JDBCModule.prepare(JDBCModule.java:289)
    at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:93)
    at weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(DeploymentCallbackFlow.java:387)
    at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:37)
    at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:58)
    Truncated. see log file for complete stacktrace
    weblogic.common.ResourceException: weblogic.common.ResourceException: Could not create pool connection. The DBMS driver exception was: Io exception: NL Exception was generated
    at weblogic.jdbc.common.internal.ConnectionEnvFactory.createResource(ConnectionEnvFactory.java:253)
    at weblogic.common.resourcepool.ResourcePoolImpl.makeResources(ResourcePoolImpl.java:1109)
    at weblogic.common.resourcepool.ResourcePoolImpl.makeResources(ResourcePoolImpl.java:1033)
    at weblogic.common.resourcepool.ResourcePoolImpl.start(ResourcePoolImpl.java:214)
    at weblogic.jdbc.common.internal.ConnectionPool.doStart(ConnectionPool.java:1051)
    Truncated. see log file for complete stacktrace
    I have set the classpath for weblogic and tried to ping the DB, but its has given me the exception as
    Error encountered:
    java.sql.SQLRecoverableException: Io exception: NL Exception was generated
    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:458)
    at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:411) at oracle.jdbc.driver.PhysicalConnection.(PhysicalConnection.java:490)
    at oracle.jdbc.driver.T4CConnection.(T4CConnection.java:202)
    at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:33)
    at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:474)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at utils.dbping.main(dbping.java:192)
    Could anyone please help me. This is something urgent for me
    Regards,
    Vamsi

    Hi,
    I have weblogic 10gr3 installed on my machine and when trying to connect to DB linked with managed server, it is throwing error as
    Apr 5, 2012 5:13:33 PM IST> <Failure occurred in the execution of deployment request with ID '1333626211843' for task 'weblogic.deploy.configChangeTask.6'. Error is: 'weblogic.application.ModuleException: '
    weblogic.application.ModuleException:
    at weblogic.jdbc.module.JDBCModule.prepare(JDBCModule.java:289)
    at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:93)
    at weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(DeploymentCallbackFlow.java:387)
    at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:37)
    at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:58)
    Truncated. see log file for complete stacktrace
    weblogic.common.ResourceException: weblogic.common.ResourceException: Could not create pool connection. The DBMS driver exception was: Io exception: NL Exception was generated
    at weblogic.jdbc.common.internal.ConnectionEnvFactory.createResource(ConnectionEnvFactory.java:253)
    at weblogic.common.resourcepool.ResourcePoolImpl.makeResources(ResourcePoolImpl.java:1109)
    at weblogic.common.resourcepool.ResourcePoolImpl.makeResources(ResourcePoolImpl.java:1033)
    at weblogic.common.resourcepool.ResourcePoolImpl.start(ResourcePoolImpl.java:214)
    at weblogic.jdbc.common.internal.ConnectionPool.doStart(ConnectionPool.java:1051)
    Truncated. see log file for complete stacktrace
    I have set the classpath for weblogic and tried to ping the DB, but its has given me the exception as
    Error encountered:
    java.sql.SQLRecoverableException: Io exception: NL Exception was generated
    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:458)
    at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:411) at oracle.jdbc.driver.PhysicalConnection.(PhysicalConnection.java:490)
    at oracle.jdbc.driver.T4CConnection.(T4CConnection.java:202)
    at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:33)
    at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:474)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at utils.dbping.main(dbping.java:192)
    Could anyone please help me. This is something urgent for me
    Regards,
    Vamsi

  • Connection Pool using weblogic.jdbc.pool.Driver

    I am trying to use connection pooling in my JSP data access classes (which
    work fine without connection pooling) on weblogic 4.5.1. I tried using the
    weblogic.jdbc.pool.Driver but it exits with the following exception:
    java.lang.ClassNotFoundException: weblogic.jdbc.pool.Driver
    The path c:\weblogic\classes which contains this driver is specified in the
    weblogic.class.path . I can not include it in the java class path because
    then weblogic server fails to start at all (with an error message). I would
    appreciate any help !
    Thanks,
    Usamah

    Hi. Please don't repost identical posts to different news groups. See a response
    in the JDBC group. thanks, joe
    Usamah Malik wrote:
    I am trying to use connection pooling in my JSP data access classes (which
    work fine without connection pooling) on weblogic 4.5.1. I tried using the
    weblogic.jdbc.pool.Driver but it exits with the following exception:
    java.lang.ClassNotFoundException: weblogic.jdbc.pool.Driver
    The path c:\weblogic\classes which contains this driver is specified in the
    weblogic.class.path . I can not include it in the java class path because
    then weblogic server fails to start at all (with an error message). I would
    appreciate any help !
    Thanks,
    Usamah--
    PS: Hey folks, we're hiring Java engineers for our WebLogic
    Engineering group in downtown S.F. Send me your resume.
    The Weblogic Application Server from BEA
    JavaWorld Editor's Choice Award: Best Web Application Server
    Java Developer's Journal Editor's Choice Award: Best Web Application Server
    Crossroads A-List Award: Rapid Application Development Tools for Java
    Intelligent Enterprise RealWare: Best Application Using a Component Architecture
    http://weblogic.beasys.com/press/awards/index.htm

Maybe you are looking for

  • RFC Connection Error during Web AS ABAP Database Instance

    I keep getting RFC Connection error installing the database instance.  The following are the pertinent logs: INFO 2007-05-09 20:10:04 Working directory changed to C:\Program Files\sapinst_instdir\NW04\SYSTEM\ABAP\MSS\UC\DB. INFO 2007-05-09 20:10:04 O

  • Indesign crashes every time I open an .INDD

    I have been working on a document for about 4-5 months now. last week I came to open the document in InDesign and the programme crashed and told me that the file was now damaged beyond repair. I am using CS5 and have had a look at other forums about

  • I had to restore my computer and now it won't sync with my iPhone

    I had to restore my computer to default and now I can't transfer items in my iTunes library to my phone.  Is there anything besides 3rd party software that I can do to authorize this computer.  I restored my phone and I could transfer songs, but then

  • How to create a web bulk upload in SAP BW

    Hi there, does anyboady has an idea which is the best way to create a bulk upload via web interface where the user can select a csv file and upload data by himself? Thanks in advance. regards, ralph

  • Internal error in FORM/FUNCTION OUTSPLIT_SCLAE_UPDOWN in position 1 with RC

    Hi All, when I try to do MFBF with reporting points I'm getting error "internal error in FORM/FUNCTION OUTSPLIT_SCLAE_UPDOWN in position 1 with RC4" can anybody give me some idea to how to comeout of this error. Thanks and Regards Ramana