JDBC 8.1.6.0.1 THIN w/ Java 1.3 Memory Question

JProbe indicates that the number of TTC7 and DBItem objects created by Oracle is huge and grows with each use of a new Query statement. The objects are NOT freed when the resultset is closed OR when the preparedstatement is closed. The only way to get the objects release is to close the connection. I would like to know if anybody else is experiencing this problem and if there is a resolution.
For example calling batchLoad for different databases and different queries can create a TON of these objects - in one app over 100K of them.
public static Collection batchLoad(String sqlWhere) throws Exception
PreparedStatement ps = batchPrepare(sqlWhere);
Collection c = batchExecute(ps, null);
ps.close();
return c;
public static Collection batchExecute(PreparedStatement stmt, Object [] params) throws Exception
Collection c = null;
c = new Collection();
ResultSet r = null;
try
SQLUtil.setParams(stmt, params);
r = stmt.executeQuery();
while (r.next())
Object obj = null;
obj = doLookup(getPK(r), r, 0);
c.add(obj);
catch (SQLException sqle)
System.out.println(sqle);
finally
try{if (r!=null) r.close();} catch(Exception e) {System.out.println("Bad ResultSet release!");}
return c;
public static PreparedStatement batchPrepare(String sqlWhere) throws Exception
String whereClause = null;
if ((sqlWhere == null) | | (sqlWhere.length()==0))
whereClause = " ";
else
whereClause = " where " + sqlWhere;
PreparedStatement stmt = DBConnManager.DBConnIDR.prepareStatement("select " + DBObj.buildColList(DBTableRefName, ColNames) + " from " + DBTableRefName + whereClause);
return stmt;
Thanks

no production version of the oracle products (oas, ias, rdbms, jdbc, sqlj, etc.) are certified to be used with jdk 1.3.
null

Similar Messages

  • Connecting JDBC-ORACEL database using type 3 thin driver.

    I'm new in Java. Could someone please send me the source code how to connect to remote oracle database with jdbc using Type 3 driver. I'm sure millions of people have already done this. I will appreciate if anyone could help me.

    Have you written any Java or done JDBC before? I don't mean to insult you if you have, but look in any JDBC book or the Java Tutorial and you'll see how to connect to a database:
    Class.forName("fullyResolvedJdbcDriverClassName");
    Connection connection = DriverManager.getConnection("databaseURL");
    Gotta put the JDBC driver class in your CLASSPATH somewhere.
    Gotta follow the directions for your database URL to the letter.
    But if you do all that, it should work.
    Oracle and Type 3 won't change any of this. Personally, I connect to Oracle using the Type 4 thin driver. Why are you using Type 3?
    Did you look at the JDBC tutorial on-line? Sun has great materials there. Have you checked any of that out? - MOD

  • [JDBC][ODBC] How to compact access database from Java ?

    Hello,
    I'm developping a java applcation wich is connected to an MS Access file database.
    For now, I don'y compact it but it would be better.
    So How can I compact an access database from Java ?
    thanks :)

    Hi ypiel,
    Try this:
    1) Download JETCOMP.exe (freeware from Microsoft);
    2) Put the following code in your app (assuming your database file name is: "DB.mdb"):
    try {
    File current = new File("DB.mdb");
    File backup = new File("BACKUP.mdb");
    if (current.renameTo(backup)) {
    Runtime.getRuntime().exec("jetcomp -src:BACKUP.mdb -dest:DB.mdb");
    } catch (Exception e) {
    System.out.println(e.getMessage());
    Best regards,
    YT.

  • Oracle JDBC thin driver(10g) returns "int/smallint" as JDBC Decimal type

    Hi,
    I am using Oracle type 4 thin JDBC driver for 10g. In our code we decide
    column type by querying the database using database metadata (as code snippet below)
    DatabaseMetaData dbmd = Connection.getMetaData() ;
    ResultSet rs = dbmd. getColumns() ;
    String fieldName = rs.getString("COLUMN_NAME");
    short dataType = rs.getShort("DATA_TYPE");
    String typeName = rs.getString("TYPE_NAME");
    Now, if I have a table with datatype "integer", "smallint" etc,
    DATA_TYPE returned from above is "3" , which is in JDBC is defined constant
    for "java.sql.Types.Deciaml"
    Question is , How do i exactly get DATA_TYPE code for
    "integer" or "smallint" and not "Decimal" ?
    I have tested with few other databases with above snippet code and they do return actual DATA_TYPE as "integer" or "smallint"
    This is with Oracle 10g database and Oracle 10g thin (type4) jdbc driver.
    Thanks,
    Chirag

    user565580,
    As has been already stated, Oracle does not have data-types INTEGER or SMALLINT, only NUMBER.
    So even though Oracle lets you write INTEGER, it really creates a NUMBER.
    (As Joe mentioned.)
    Other databases don't have a NUMBER data-type, they have INTEGER, SMALLINT, etc.
    Originally, Oracle database only had three data-types:
    CHAR
    DATE
    NUMBER
    If you're going to be working with Oracle database, then you need to adapt yourself to its limitations.
    So you'll probably need to define NUMBER data-types using scale and precision.
    (As Kuassi mentioned.)
    Good Luck,
    Avi.

  • JDBC Thin Driver 8.17 Release 2

    Is the Oracle Direct Driver (JDBC Thin Driver 8.17 Release 2) compatible with other oracle versions like 8.15 and 8.16? Is it backward compatible to older releases. I have tried it and it does work, but I want to make sure there are no known problems going backwards because we have several versions in our shop.
    Thanks
    Brian

    Rong Lu (guest) wrote:
    : I am using Oracle JDBC thin driver 8.0.5.0.0 to query Oracle
    : 8.0.5 via SQL net. The problem I met is every time I try to
    : retrieve data for varchar2 (over 2k), it get truncated and
    only
    : return the first 2k without throwing any warning or exception.
    : I tried getString(), getAsciiStream() and getBinaryStream(),
    and
    : the results are still the same. The SQL Net works fine, since
    it
    : successfully returns over 2k varchar2 type data when programing
    : with PERL.
    check the following oracle jdbc faq link :
    http://technet.oracle.com/tech/java/sqlj_jdbc/htdocs/jdbc_faq.htm
    #_36_
    null

  • JDBC thin Driver 8.0.X Limit 2k for varchar2?

    I am using Oracle JDBC thin driver 8.0.5.0.0 to query Oracle
    8.0.5 via SQL net. The problem I met is every time I try to
    retrieve data for varchar2 (over 2k), it get truncated and only
    return the first 2k without throwing any warning or exception.
    I tried getString(), getAsciiStream() and getBinaryStream(), and
    the results are still the same. The SQL Net works fine, since it
    successfully returns over 2k varchar2 type data when programing
    with PERL.
    null

    Rong Lu (guest) wrote:
    : I am using Oracle JDBC thin driver 8.0.5.0.0 to query Oracle
    : 8.0.5 via SQL net. The problem I met is every time I try to
    : retrieve data for varchar2 (over 2k), it get truncated and
    only
    : return the first 2k without throwing any warning or exception.
    : I tried getString(), getAsciiStream() and getBinaryStream(),
    and
    : the results are still the same. The SQL Net works fine, since
    it
    : successfully returns over 2k varchar2 type data when programing
    : with PERL.
    check the following oracle jdbc faq link :
    http://technet.oracle.com/tech/java/sqlj_jdbc/htdocs/jdbc_faq.htm
    #_36_
    null

  • Hanging problem with Oracle JDBC thin driver

    Hi. We have an application running on top of WLS 6.1 accessing Oracle 8I with oracle's
    JDBC thin driver. Under stress testing, it appears to hang sometimes. Thread dump
    shows that many threads seem to be stuck at the same line of code in JDBC driver
    (at oracle.sql.NUMBER._isPositive(NUMBER.java:2882)). Has anyone run into similar
    issue? Any help is much appreciated.
    "ExecuteThread: '1' for queue: 'default'" daemon prio=5 tid=0xe18960 nid=0xf wai
    ting on monitor [0xb3680000..0xb36819d8]
    at oracle.sql.NUMBER._isPositive(NUMBER.java:2882)
    at oracle.sql.NUMBER._fromLnxFmt(NUMBER.java:2953)
    at oracle.sql.NUMBER.toBigDecimal(NUMBER.java:557)
    at oracle.sql.NUMBER.bigDecimalValue(NUMBER.java:1872)
    at oracle.jdbc.dbaccess.DBConversion.NumberBytesToBigDecimal(DBConversion.ja
    va:1771)
    at oracle.jdbc.driver.OracleStatement.getBigDecimalValue(OracleStatement.jav
    a:3357)
    at oracle.jdbc.driver.OracleStatement.getObjectValue(OracleStatement.java:41
    66)
    at oracle.jdbc.driver.OracleStatement.getObjectValue(OracleStatement.java:41
    23)
    at oracle.jdbc.driver.OracleResultSetImpl.getObject(OracleResultSetImpl.java
    :401)
    at weblogic.jdbc.jts.ResultSet.getObject(ResultSet.java:268)
    at weblogic.jdbc.rmi.internal.ResultSetImpl.getObject(ResultSetImpl.java:592
    at weblogic.jdbc.rmi.internal.ResultSetStraightReader.getObject(ResultSetStr
    aightReader.java:198)
    at weblogic.jdbc.rmi.SerialResultSet.getObject(SerialResultSet.java:682)
    "ExecuteThread: '6' for queue: 'default'" daemon prio=5 tid=0x6d93a8 nid=0x14
    wa
    iting on monitor [0xb3180000..0xb31819d8]
    at oracle.sql.NUMBER._isPositive(NUMBER.java:2882)
    at oracle.sql.NUMBER._fromLnxFmt(NUMBER.java:2953)
    at oracle.sql.NUMBER.toBigDecimal(NUMBER.java:557)
    at oracle.sql.NUMBER.bigDecimalValue(NUMBER.java:1872)
    at oracle.jdbc.dbaccess.DBConversion.NumberBytesToBigDecimal(DBConversion.ja
    va:1771)
    at oracle.jdbc.driver.OracleStatement.getBigDecimalValue(OracleStatement.jav
    a:3357)
    at oracle.jdbc.driver.OracleStatement.getObjectValue(OracleStatement.java:41
    66)
    at oracle.jdbc.driver.OracleStatement.getObjectValue(OracleStatement.java:41
    23)
    at oracle.jdbc.driver.OracleResultSetImpl.getObject(OracleResultSetImpl.java
    :401)
    at weblogic.jdbc.jts.ResultSet.getObject(ResultSet.java:268)
    at weblogic.jdbc.rmi.internal.ResultSetImpl.getObject(ResultSetImpl.java:592
    at weblogic.jdbc.rmi.internal.ResultSetStraightReader.getObject(ResultSetStr
    aightReader.java:198)
    at weblogic.jdbc.rmi.SerialResultSet.getObject(SerialResultSet.java:682)

    Try get the latest thin driver from oracle and place it in the beginning of
    the classpath in the server startup script to use it. This seems like a
    oracle thin driver bug, the newer driver might help.
    sree
    "Andrew Dong" <[email protected]> wrote in message
    news:[email protected]...
    >
    Hi. We have an application running on top of WLS 6.1 accessing Oracle 8Iwith oracle's
    JDBC thin driver. Under stress testing, it appears to hang sometimes.Thread dump
    shows that many threads seem to be stuck at the same line of code in JDBCdriver
    (at oracle.sql.NUMBER._isPositive(NUMBER.java:2882)). Has anyone run intosimilar
    issue? Any help is much appreciated.
    "ExecuteThread: '1' for queue: 'default'" daemon prio=5 tid=0xe18960nid=0xf wai
    ting on monitor [0xb3680000..0xb36819d8]
    at oracle.sql.NUMBER._isPositive(NUMBER.java:2882)
    at oracle.sql.NUMBER._fromLnxFmt(NUMBER.java:2953)
    at oracle.sql.NUMBER.toBigDecimal(NUMBER.java:557)
    at oracle.sql.NUMBER.bigDecimalValue(NUMBER.java:1872)
    atoracle.jdbc.dbaccess.DBConversion.NumberBytesToBigDecimal(DBConversion.ja
    va:1771)
    atoracle.jdbc.driver.OracleStatement.getBigDecimalValue(OracleStatement.jav
    a:3357)
    atoracle.jdbc.driver.OracleStatement.getObjectValue(OracleStatement.java:41
    66)
    atoracle.jdbc.driver.OracleStatement.getObjectValue(OracleStatement.java:41
    23)
    atoracle.jdbc.driver.OracleResultSetImpl.getObject(OracleResultSetImpl.java
    :401)
    at weblogic.jdbc.jts.ResultSet.getObject(ResultSet.java:268)
    atweblogic.jdbc.rmi.internal.ResultSetImpl.getObject(ResultSetImpl.java:592
    atweblogic.jdbc.rmi.internal.ResultSetStraightReader.getObject(ResultSetStr
    aightReader.java:198)
    atweblogic.jdbc.rmi.SerialResultSet.getObject(SerialResultSet.java:682)
    >
    "ExecuteThread: '6' for queue: 'default'" daemon prio=5 tid=0x6d93a8nid=0x14
    wa
    iting on monitor [0xb3180000..0xb31819d8]
    at oracle.sql.NUMBER._isPositive(NUMBER.java:2882)
    at oracle.sql.NUMBER._fromLnxFmt(NUMBER.java:2953)
    at oracle.sql.NUMBER.toBigDecimal(NUMBER.java:557)
    at oracle.sql.NUMBER.bigDecimalValue(NUMBER.java:1872)
    atoracle.jdbc.dbaccess.DBConversion.NumberBytesToBigDecimal(DBConversion.ja
    va:1771)
    atoracle.jdbc.driver.OracleStatement.getBigDecimalValue(OracleStatement.jav
    a:3357)
    atoracle.jdbc.driver.OracleStatement.getObjectValue(OracleStatement.java:41
    66)
    atoracle.jdbc.driver.OracleStatement.getObjectValue(OracleStatement.java:41
    23)
    atoracle.jdbc.driver.OracleResultSetImpl.getObject(OracleResultSetImpl.java
    :401)
    at weblogic.jdbc.jts.ResultSet.getObject(ResultSet.java:268)
    atweblogic.jdbc.rmi.internal.ResultSetImpl.getObject(ResultSetImpl.java:592
    atweblogic.jdbc.rmi.internal.ResultSetStraightReader.getObject(ResultSetStr
    aightReader.java:198)
    atweblogic.jdbc.rmi.SerialResultSet.getObject(SerialResultSet.java:682)
    >
    >

  • JDBC thin 8.0.4 connect to Server 8.0.5?

    Oracle:
    I have a test application (not an applet) that executes correctly
    connecting to an Oracle Server 7.X database using Oracle's JDBC
    thin drivers. But when I try to connect to an Oracle Server
    8.0.5 database, I receive an Oracle error:
    ORA-01034: ORACLE not available
    The environment for successful application execution is:
    Oracle Server 7.X with a TCP Listener on Port 1521
    Client workstation NT 4.0
    SQL*Net Client is installed (N/A since we're using jdbc thin?)
    Java 1.1.1
    Oracle JDBC Thin Driver Release 8.0.4
    Classes111.zip (7/10/98; 383,256 bytes)
    The environment for the un-successful execution is:
    Oracle Server 8.0.5 with a TCP Listener on Port 1521
    Client workstation NT 4.0
    SQL*Net8 Client is installed (N/A since we're using jdbc thin?)
    Java 1.1.1
    Oracle JDBC Thin Driver Release 8.0.4
    Classes111.zip (7/10/98; 383,256 bytes)
    Everything else is identical; the only difference is the Oracle
    server (7.x vs 8.0.5). The jdbc drivers were downloaded from the
    OTN web site. I've reviewed the jdbc documentation available and
    reviewed other threads. Is the jdbc thin driver release 8.0.4
    compatible with Oracle Server 8.0.5? Is there a more recent
    release of Oracle's jdbc thin driver not published on the OTN web
    site? Is there something else I should be looking at?
    After successful test as an application, I will be testing this
    as an applet. As an applet connecting to Server 7.x, it also
    works correctly. I have not yet tried the applet connecting to
    Server 8.0.5.
    Thank you in advance,
    Ed Vinarski
    5/19/99
    null

    <BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Originally posted by Edward Vinarski ([email protected]):
    Oracle:
    I have a test application (not an applet) that executes correctly
    connecting to an Oracle Server 7.X database using Oracle's JDBC
    thin drivers. But when I try to connect to an Oracle Server
    8.0.5 database, I receive an Oracle error:
    ORA-01034: ORACLE not available
    The environment for successful application execution is:
    Oracle Server 7.X with a TCP Listener on Port 1521
    Client workstation NT 4.0
    SQL*Net Client is installed (N/A since we're using jdbc thin?)
    Java 1.1.1
    Oracle JDBC Thin Driver Release 8.0.4
    Classes111.zip (7/10/98; 383,256 bytes)
    The environment for the un-successful execution is:
    Oracle Server 8.0.5 with a TCP Listener on Port 1521
    Client workstation NT 4.0
    SQL*Net8 Client is installed (N/A since we're using jdbc thin?)
    Java 1.1.1
    Oracle JDBC Thin Driver Release 8.0.4
    Classes111.zip (7/10/98; 383,256 bytes)
    Everything else is identical; the only difference is the Oracle
    server (7.x vs 8.0.5). The jdbc drivers were downloaded from the
    OTN web site. I've reviewed the jdbc documentation available and
    reviewed other threads. Is the jdbc thin driver release 8.0.4
    compatible with Oracle Server 8.0.5? Is there a more recent
    release of Oracle's jdbc thin driver not published on the OTN web
    site? Is there something else I should be looking at?
    After successful test as an application, I will be testing this
    as an applet. As an applet connecting to Server 7.x, it also
    works correctly. I have not yet tried the applet connecting to
    Server 8.0.5.
    Thank you in advance,
    Ed Vinarski
    5/19/99<HR></BLOCKQUOTE>
    Net8 introduces the notion of service name and dbname. I think the version of thin JDBC you are using expect a sid name. Do a lsnrctl serv and find out your sid name and pass it to the connect string for JDBC.
    null

  • JDBC thin on Oracle

    I loaded Oracle8, I start the TNS-Listener ($lsnrctl start), I am
    not using Oracle names server.
    I test the connection to Oracle8 whith JDBC thin, I use the
    sample $ORACLE_HOME/jdbc/samples/thin/JdbcApplet.java
    No problem on localhost, but i have problem (no connect on
    Oracle8) whith another host on my network.
    Please help me,
    Abdallah
    null

    Abdallah (guest) wrote:
    : I loaded Oracle8, I start the TNS-Listener ($lsnrctl start), I
    am
    : not using Oracle names server.
    : I test the connection to Oracle8 whith JDBC thin, I use the
    : sample $ORACLE_HOME/jdbc/samples/thin/JdbcApplet.java
    : No problem on localhost, but i have problem (no connect on
    : Oracle8) whith another host on my network.
    : Please help me,
    : Abdallah
    I am not sure this if this is what is causing you trouble, but
    I had to fix OOB (out-of-band breaks, the way Net8 handles
    Crtl-C) setting on my Linux machines for them to
    talk to each other using Net8.
    I had to put "disable_oob = ON" in my sqlnet.ora to get Net8
    working.
    Good Luck !
    Anwar.
    null

  • Infinite wait for connection using JDBC thin driver.

    Hi,
    I am using an OracleDataSource and an OracleConnectionCacheManager to manage my connection pool from my stand alone Java application. I am using ojdbc14.jar for my Oracle drivers. The database is Oracle 10g RAC. Java version is 1.5. I am using thin client.
    The problem I have experienced is that upon calling the getConnection() method on the OracleDataSource object, my application waits infinitely for a connection. As my application is not checking how long it takes to retrieve a connection, the application effectively hangs.
    Has anyone else witnessed this behaviour?? I have observed this behaviour in two seperate stand alone Java applications that are both talking to Oracle RAC databases.
    When I create the OracleDataSource, I am considering calling the setLoginTimeout() method to specify a timeout when trying to connect to the database. Does anyone know if this will throw an SQLException if the infinite wait occurs again??
    Thanks, Kenny.

    OK, I have the JVM stack trace at last!!! Here it is. This actually uses the following code every single time a database connection is required.
    DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
    conn = (OracleConnection)DriverManager.getConnection(url, username, password);Full thread dump Java HotSpot(TM) 64-Bit Server VM (1.5.0_15-b04 mixed mode):
    "pool-2-thread-3" prio=10 tid=0x0000000100fd2500 nid=0x68 waiting for monitor entry [0xffffffff1cdfe000..0xffffffff1cdff628]
         at java.sql.DriverManager.registerDriver(DriverManager.java:259)
         - waiting to lock <0xffffffff2045e108> (a java.lang.Class)
         at com.jpm.mra.common.DBUtil.getDBConnection(Unknown Source)
         at com.jpm.mra.bulking.BaseBulker.openConnection(Unknown Source)
         at com.jpm.mra.bulking.GenericBulker.run(Unknown Source)
         at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
         at java.lang.Thread.run(Thread.java:595)
    "pool-2-thread-2" prio=10 tid=0x0000000100ecfb00 nid=0x67 waiting for monitor entry [0xffffffff1d0fe000..0xffffffff1d0ff7a8]
         at java.sql.DriverManager.registerDriver(DriverManager.java:259)
         - waiting to lock <0xffffffff2045e108> (a java.lang.Class)
         at com.jpm.mra.common.DBUtil.getDBConnection(Unknown Source)
         at com.jpm.mra.bulking.BaseBulker.openConnection(Unknown Source)
         at com.jpm.mra.bulking.GenericBulker.run(Unknown Source)
         at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
         at java.lang.Thread.run(Thread.java:595)
    "pool-1-thread-21" prio=10 tid=0x0000000100fa9180 nid=0x66 waiting for monitor entry [0xffffffff1e4fe000..0xffffffff1e4ff728]
         at java.sql.DriverManager.registerDriver(DriverManager.java:259)
         - waiting to lock <0xffffffff2045e108> (a java.lang.Class)
         at com.jpm.mra.common.DBUtil.getDBConnection(Unknown Source)
         at com.jpm.mra.bulking.BaseBulker.openConnection(Unknown Source)
         at com.jpm.mra.bulking.GenericBulker.run(Unknown Source)
         at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
         at java.lang.Thread.run(Thread.java:595)
    "pool-1-thread-20" prio=10 tid=0x0000000100f832b0 nid=0x65 waiting for monitor entry [0xffffffff1e6fe000..0xffffffff1e6ff8a8]
         at java.sql.DriverManager.registerDriver(DriverManager.java:259)
         - waiting to lock <0xffffffff2045e108> (a java.lang.Class)
         at com.jpm.mra.common.DBUtil.getDBConnection(Unknown Source)
         at com.jpm.mra.bulking.BaseBulker.openConnection(Unknown Source)
         at com.jpm.mra.bulking.GenericBulker.run(Unknown Source)
         at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
         at java.lang.Thread.run(Thread.java:595)
    "pool-1-thread-19" prio=10 tid=0x0000000100f82240 nid=0x64 runnable [0xffffffff1e8fe000..0xffffffff1e8ff828]
         at java.net.SocketInputStream.socketRead0(Native Method)
         at java.net.SocketInputStream.read(SocketInputStream.java:129)
         at oracle.net.ns.Packet.receive(Unknown Source)
         at oracle.net.ns.NSProtocol.connect(Unknown Source)
         at oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:707)
         at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:218)
         at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:343)
         at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:147)
         at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:31)
         at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:545)
         at java.sql.DriverManager.getConnection(DriverManager.java:525)
         - locked <0xffffffff2045e108> (a java.lang.Class)
         at java.sql.DriverManager.getConnection(DriverManager.java:171)
         - locked <0xffffffff2045e108> (a java.lang.Class)
         at com.jpm.mra.common.DBUtil.getDBConnection(Unknown Source)
         at com.jpm.mra.bulking.BaseBulker.openConnection(Unknown Source)
         at com.jpm.mra.bulking.GenericBulker.run(Unknown Source)
         at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
         at java.lang.Thread.run(Thread.java:595)
    "pool-1-thread-18" prio=10 tid=0x0000000100f905a0 nid=0x63 waiting for monitor entry [0xffffffff1ebfe000..0xffffffff1ebff9a8]
         at java.sql.DriverManager.registerDriver(DriverManager.java:259)
         - waiting to lock <0xffffffff2045e108> (a java.lang.Class)
         at com.jpm.mra.common.DBUtil.getDBConnection(Unknown Source)
         at com.jpm.mra.bulking.BaseBulker.openConnection(Unknown Source)
         at com.jpm.mra.bulking.GenericBulker.run(Unknown Source)
         at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
         at java.lang.Thread.run(Thread.java:595)
    "pool-1-thread-17" prio=10 tid=0x0000000101a531b0 nid=0x62 waiting for monitor entry [0xffffffff1edfe000..0xffffffff1edff928]
         at java.sql.DriverManager.registerDriver(DriverManager.java:259)
         - waiting to lock <0xffffffff2045e108> (a java.lang.Class)
         at com.jpm.mra.common.DBUtil.getDBConnection(Unknown Source)
         at com.jpm.mra.bulking.BaseBulker.openConnection(Unknown Source)
         at com.jpm.mra.bulking.GenericBulker.run(Unknown Source)
         at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
         at java.lang.Thread.run(Thread.java:595)
    "pool-1-thread-16" prio=10 tid=0x000000010171ced0 nid=0x61 waiting for monitor entry [0xffffffff1f0fe000..0xffffffff1f0ff6a8]
         at java.sql.DriverManager.registerDriver(DriverManager.java:259)
         - waiting to lock <0xffffffff2045e108> (a java.lang.Class)
         at com.jpm.mra.common.DBUtil.getDBConnection(Unknown Source)
         at com.jpm.mra.bulking.BaseBulker.openConnection(Unknown Source)
         at com.jpm.mra.bulking.GenericBulker.run(Unknown Source)
         at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
         at java.lang.Thread.run(Thread.java:595)
    "pool-1-thread-15" prio=10 tid=0x0000000100ea6a70 nid=0x60 waiting for monitor entry [0xffffffff1f2fe000..0xffffffff1f2ff628]
         at java.sql.DriverManager.registerDriver(DriverManager.java:259)
         - waiting to lock <0xffffffff2045e108> (a java.lang.Class)
         at com.jpm.mra.common.DBUtil.getDBConnection(Unknown Source)
         at com.jpm.mra.bulking.BaseBulker.openConnection(Unknown Source)
         at com.jpm.mra.bulking.GenericBulker.run(Unknown Source)
         at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
         at java.lang.Thread.run(Thread.java:595)
    "pool-1-thread-14" prio=10 tid=0x0000000101a520b0 nid=0x5f waiting for monitor entry [0xffffffff1f4fe000..0xffffffff1f4ff7a8]
         at java.sql.DriverManager.registerDriver(DriverManager.java:259)
         - waiting to lock <0xffffffff2045e108> (a java.lang.Class)
         at com.jpm.mra.common.DBUtil.getDBConnection(Unknown Source)
         at com.jpm.mra.bulking.BaseBulker.openConnection(Unknown Source)
         at com.jpm.mra.bulking.GenericBulker.run(Unknown Source)
         at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
         at java.lang.Thread.run(Thread.java:595)
    "pool-1-thread-13" prio=10 tid=0x0000000100e7a870 nid=0x5e waiting for monitor entry [0xffffffff1f6fe000..0xffffffff1f6ff728]
         at java.sql.DriverManager.registerDriver(DriverManager.java:259)
         - waiting to lock <0xffffffff2045e108> (a java.lang.Class)
         at com.jpm.mra.common.DBUtil.getDBConnection(Unknown Source)
         at com.jpm.mra.bulking.BaseBulker.openConnection(Unknown Source)
         at com.jpm.mra.bulking.GenericBulker.run(Unknown Source)
         at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
         at java.lang.Thread.run(Thread.java:595)
    "pool-1-thread-12" prio=10 tid=0x0000000100ea7430 nid=0x5d waiting for monitor entry [0xffffffff1f8fe000..0xffffffff1f8ff8a8]
         at java.sql.DriverManager.registerDriver(DriverManager.java:259)
         - waiting to lock <0xffffffff2045e108> (a java.lang.Class)
         at com.jpm.mra.common.DBUtil.getDBConnection(Unknown Source)
         at com.jpm.mra.bulking.BaseBulker.openConnection(Unknown Source)
         at com.jpm.mra.bulking.GenericBulker.run(Unknown Source)
         at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
         at java.lang.Thread.run(Thread.java:595)
    "pool-1-thread-11" prio=10 tid=0x0000000101262330 nid=0x5c waiting for monitor entry [0xffffffff1fafe000..0xffffffff1faff828]
         at java.sql.DriverManager.registerDriver(DriverManager.java:259)
         - waiting to lock <0xffffffff2045e108> (a java.lang.Class)
         at com.jpm.mra.common.DBUtil.getDBConnection(Unknown Source)
         at com.jpm.mra.bulking.BaseBulker.openConnection(Unknown Source)
         at com.jpm.mra.bulking.GenericBulker.run(Unknown Source)
         at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
         at java.lang.Thread.run(Thread.java:595)
    "pool-1-thread-10" prio=10 tid=0x0000000100b66160 nid=0x5b waiting for monitor entry [0xffffffff1fcfe000..0xffffffff1fcff9a8]
         at java.sql.DriverManager.registerDriver(DriverManager.java:259)
         - waiting to lock <0xffffffff2045e108> (a java.lang.Class)
         at com.jpm.mra.common.DBUtil.getDBConnection(Unknown Source)
         at com.jpm.mra.bulking.BaseBulker.openConnection(Unknown Source)
         at com.jpm.mra.bulking.GenericBulker.run(Unknown Source)
         at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
         at java.lang.Thread.run(Thread.java:595)
    "pool-1-thread-9" prio=10 tid=0x0000000100b47ff0 nid=0x5a waiting for monitor entry [0xffffffff1fefe000..0xffffffff1feff928]
         at java.sql.DriverManager.registerDriver(DriverManager.java:259)
         - waiting to lock <0xffffffff2045e108> (a java.lang.Class)
         at com.jpm.mra.common.DBUtil.getDBConnection(Unknown Source)
         at com.jpm.mra.bulking.BaseBulker.openConnection(Unknown Source)
         at com.jpm.mra.bulking.GenericBulker.run(Unknown Source)
         at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
         at java.lang.Thread.run(Thread.java:595)
    "pool-1-thread-8" prio=10 tid=0x0000000101a7ac70 nid=0x59 waiting for monitor entry [0xffffffff65afe000..0xffffffff65aff6a8]
         at java.sql.DriverManager.registerDriver(DriverManager.java:259)
         - waiting to lock <0xffffffff2045e108> (a java.lang.Class)
         at com.jpm.mra.common.DBUtil.getDBConnection(Unknown Source)
         at com.jpm.mra.bulking.BaseBulker.openConnection(Unknown Source)
         at com.jpm.mra.bulking.GenericBulker.run(Unknown Source)
         at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
         at java.lang.Thread.run(Thread.java:595)
    "pool-1-thread-7" prio=10 tid=0x0000000101212460 nid=0x58 waiting for monitor entry [0xffffffff65cfe000..0xffffffff65cff628]
         at java.sql.DriverManager.registerDriver(DriverManager.java:259)
         - waiting to lock <0xffffffff2045e108> (a java.lang.Class)
         at com.jpm.mra.common.DBUtil.getDBConnection(Unknown Source)
         at com.jpm.mra.bulking.BaseBulker.openConnection(Unknown Source)
         at com.jpm.mra.bulking.GenericBulker.run(Unknown Source)
         at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
         at java.lang.Thread.run(Thread.java:595)
    "pool-1-thread-6" prio=10 tid=0x0000000100f8f6f0 nid=0x57 waiting for monitor entry [0xffffffff65efe000..0xffffffff65eff7a8]
         at java.sql.DriverManager.registerDriver(DriverManager.java:259)
         - waiting to lock <0xffffffff2045e108> (a java.lang.Class)
         at com.jpm.mra.common.DBUtil.getDBConnection(Unknown Source)
         at com.jpm.mra.bulking.BaseBulker.openConnection(Unknown Source)
         at com.jpm.mra.bulking.GenericBulker.run(Unknown Source)
         at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
         at java.lang.Thread.run(Thread.java:595)
    "pool-1-thread-5" prio=10 tid=0x0000000100c7c420 nid=0x56 waiting for monitor entry [0xffffffff660fe000..0xffffffff660ff728]
         at java.sql.DriverManager.registerDriver(DriverManager.java:259)
         - waiting to lock <0xffffffff2045e108> (a java.lang.Class)
         at com.jpm.mra.common.DBUtil.getDBConnection(Unknown Source)
         at com.jpm.mra.bulking.BaseBulker.openConnection(Unknown Source)
         at com.jpm.mra.bulking.GenericBulker.run(Unknown Source)
         at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
         at java.lang.Thread.run(Thread.java:595)
    "pool-2-thread-1" prio=10 tid=0x0000000101a41370 nid=0x55 waiting for monitor entry [0xffffffff662fe000..0xffffffff662ff8a8]
         at java.sql.DriverManager.registerDriver(DriverManager.java:259)
         - waiting to lock <0xffffffff2045e108> (a java.lang.Class)
         at com.jpm.mra.common.DBUtil.getDBConnection(Unknown Source)
         at com.jpm.mra.bulking.BaseBulker.openConnection(Unknown Source)
         at com.jpm.mra.bulking.GenericBulker.run(Unknown Source)
         at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
         at java.lang.Thread.run(Thread.java:595)
    "pool-1-thread-4" prio=10 tid=0x0000000101a28ef0 nid=0x54 waiting for monitor entry [0xffffffff664fe000..0xffffffff664ff828]
         at java.sql.DriverManager.registerDriver(DriverManager.java:259)
         - waiting to lock <0xffffffff2045e108> (a java.lang.Class)
         at com.jpm.mra.common.DBUtil.getDBConnection(Unknown Source)
         at com.jpm.mra.bulking.BaseBulker.openConnection(Unknown Source)
         at com.jpm.mra.bulking.GenericBulker.run(Unknown Source)
         at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
         at java.lang.Thread.run(Thread.java:595)
    "pool-1-thread-3" prio=10 tid=0x00000001009a1850 nid=0x53 waiting for monitor entry [0xffffffff666fe000..0xffffffff666ff9a8]
         at java.sql.DriverManager.registerDriver(DriverManager.java:259)
         - waiting to lock <0xffffffff2045e108> (a java.lang.Class)
         at com.jpm.mra.common.DBUtil.getDBConnection(Unknown Source)
         at com.jpm.mra.bulking.BaseBulker.openConnection(Unknown Source)
         at com.jpm.mra.bulking.GenericBulker.run(Unknown Source)
         at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
         at java.lang.Thread.run(Thread.java:595)
    "pool-1-thread-2" prio=10 tid=0x0000000100f8e980 nid=0x52 waiting for monitor entry [0xffffffff668fe000..0xffffffff668ff928]
         at java.sql.DriverManager.registerDriver(DriverManager.java:259)
         - waiting to lock <0xffffffff2045e108> (a java.lang.Class)
         at com.jpm.mra.common.DBUtil.getDBConnection(Unknown Source)
         at com.jpm.mra.bulking.BaseBulker.openConnection(Unknown Source)
         at com.jpm.mra.bulking.GenericBulker.run(Unknown Source)
         at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
         at java.lang.Thread.run(Thread.java:595)
    "pool-1-thread-1" prio=10 tid=0x0000000100bd86f0 nid=0x51 waiting for monitor entry [0xffffffff67afe000..0xffffffff67aff6a8]
         at java.sql.DriverManager.registerDriver(DriverManager.java:259)
         - waiting to lock <0xffffffff2045e108> (a java.lang.Class)
         at com.jpm.mra.common.DBUtil.getDBConnection(Unknown Source)
         at com.jpm.mra.bulking.BaseBulker.openConnection(Unknown Source)
         at com.jpm.mra.bulking.GenericBulker.run(Unknown Source)
         at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
         at java.lang.Thread.run(Thread.java:595)
    "Thread-5" prio=10 tid=0x0000000100b66b90 nid=0x50 waiting on condition [0xffffffff67cff000..0xffffffff67cff628]
         at java.lang.Thread.sleep(Native Method)
         at com.jpm.mra.bulking.IntervalBulker.run(Unknown Source)
         at java.lang.Thread.run(Thread.java:595)
    "Thread-3" prio=10 tid=0x0000000100f36860 nid=0x4f waiting on condition [0xffffffff67eff000..0xffffffff67eff7a8]
         at java.lang.Thread.sleep(Native Method)
         at com.jpm.mra.bulking.ClockBulker.run(Unknown Source)
         at java.lang.Thread.run(Thread.java:595)
    "Thread-1" prio=10 tid=0x0000000100a4b300 nid=0x4e waiting on condition [0xffffffff680ff000..0xffffffff680ff728]
         at java.lang.Thread.sleep(Native Method)
         at com.jpm.mra.bulking.DepthBulker.run(Unknown Source)
         at java.lang.Thread.run(Thread.java:595)
    "Thread-4" prio=10 tid=0x0000000100a4c380 nid=0x4d waiting on condition [0xffffffff682ff000..0xffffffff682ff8a8]
         at java.lang.Thread.sleep(Native Method)
         at com.jpm.mra.bulking.IntervalBulkerStaticDataPoller.run(Unknown Source)
         at java.lang.Thread.run(Thread.java:595)
    "Thread-2" prio=10 tid=0x0000000100bcf260 nid=0x4c waiting on condition [0xffffffff684ff000..0xffffffff684ff828]
         at java.lang.Thread.sleep(Native Method)
         at com.jpm.mra.bulking.ClockBulkerStaticDataPoller.run(Unknown Source)
         at java.lang.Thread.run(Thread.java:595)
    "Thread-0" prio=10 tid=0x0000000100a1b2d0 nid=0x4b waiting on condition [0xffffffff689ff000..0xffffffff689ff9a8]
         at java.lang.Thread.sleep(Native Method)
         at com.jpm.mra.bulking.MRABulking.run(Unknown Source)
         at java.lang.Thread.run(Thread.java:595)
    "Low Memory Detector" daemon prio=10 tid=0x00000001006db880 nid=0x49 runnable [0x0000000000000000..0x0000000000000000]
    "CompilerThread1" daemon prio=10 tid=0x00000001006da9e0 nid=0x48 waiting on condition [0x0000000000000000..0xffffffff6b6fdcc8]
    "CompilerThread0" daemon prio=10 tid=0x00000001006d72a0 nid=0x47 waiting on condition [0x0000000000000000..0xffffffff6b8fde58]
    "AdapterThread" daemon prio=10 tid=0x00000001006d6370 nid=0x46 waiting on condition [0x0000000000000000..0x0000000000000000]
    "Signal Dispatcher" daemon prio=10 tid=0x00000001006d5440 nid=0x45 waiting on condition [0x0000000000000000..0x0000000000000000]
    "Finalizer" daemon prio=10 tid=0x00000001006bf6b0 nid=0x44 in Object.wait() [0xffffffff6beff000..0xffffffff6beff828]
         at java.lang.Object.wait(Native Method)
         - waiting on <0xffffffff2544e010> (a java.lang.ref.ReferenceQueue$Lock)
         at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:120)
         - locked <0xffffffff2544e010> (a java.lang.ref.ReferenceQueue$Lock)
         at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:136)
         at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)
    "Reference Handler" daemon prio=10 tid=0x00000001006bd500 nid=0x43 in Object.wait() [0xffffffff6c0ff000..0xffffffff6c0ff9a8]
         at java.lang.Object.wait(Native Method)
         - waiting on <0xffffffff2544e000> (a java.lang.ref.Reference$Lock)
         at java.lang.Object.wait(Object.java:474)
         at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
         - locked <0xffffffff2544e000> (a java.lang.ref.Reference$Lock)
    "main" prio=10 tid=0x000000010011ed20 nid=0x1 in Object.wait() [0xffffffff7fff5000..0xffffffff7fff56e0]
         at java.lang.Object.wait(Native Method)
         - waiting on <0xffffffff25456218> (a java.lang.Thread)
         at java.lang.Thread.join(Thread.java:1095)
         - locked <0xffffffff25456218> (a java.lang.Thread)
         at java.lang.Thread.join(Thread.java:1148)
         at com.jpm.mra.bulking.MRABulking.main(Unknown Source)
    "VM Thread" prio=10 tid=0x00000001006b9790 nid=0x42 runnable
    "GC task thread#0 (ParallelGC)" prio=10 tid=0x00000001001d47d0 nid=0x2 runnable
    "GC task thread#1 (ParallelGC)" prio=10 tid=0x00000001001d5270 nid=0x3 runnable
    "GC task thread#2 (ParallelGC)" prio=10 tid=0x00000001001d5d70 nid=0x4 runnable
    "GC task thread#3 (ParallelGC)" prio=10 tid=0x00000001001d6870 nid=0x5 runnable
    "GC task thread#4 (ParallelGC)" prio=10 tid=0x00000001001d7370 nid=0x6 runnable
    "GC task thread#5 (ParallelGC)" prio=10 tid=0x00000001001d7e70 nid=0x7 runnable
    "GC task thread#6 (ParallelGC)" prio=10 tid=0x00000001001d8970 nid=0x8 runnable
    "GC task thread#7 (ParallelGC)" prio=10 tid=0x00000001001d9470 nid=0x9 runnable
    "GC task thread#8 (ParallelGC)" prio=10 tid=0x00000001001d9f70 nid=0xa runnable
    "GC task thread#9 (ParallelGC)" prio=10 tid=0x00000001001daa70 nid=0xb runnable
    "GC task thread#10 (ParallelGC)" prio=10 tid=0x00000001001db570 nid=0xc runnable
    "GC task thread#11 (ParallelGC)" prio=10 tid=0x00000001001dc070 nid=0xd runnable
    "GC task thread#12 (ParallelGC)" prio=10 tid=0x00000001001dcb70 nid=0xe runnable
    "GC task thread#13 (ParallelGC)" prio=10 tid=0x00000001001dd670 nid=0xf runnable
    "GC task thread#14 (ParallelGC)" prio=10 tid=0x00000001001de170 nid=0x10 runnable
    "GC task thread#15 (ParallelGC)" prio=10 tid=0x00000001001dec70 nid=0x11 runnable
    "GC task thread#16 (ParallelGC)" prio=10 tid=0x00000001001df7b0 nid=0x12 runnable
    "GC task thread#17 (ParallelGC)" prio=10 tid=0x00000001001e02b0 nid=0x13 runnable
    "GC task thread#18 (ParallelGC)" prio=10 tid=0x00000001001e0db0 nid=0x14 runnable
    "GC task thread#19 (ParallelGC)" prio=10 tid=0x00000001001e18b0 nid=0x15 runnable
    "GC task thread#20 (ParallelGC)" prio=10 tid=0x00000001001e23b0 nid=0x16 runnable
    "GC task thread#21 (ParallelGC)" prio=10 tid=0x00000001001e2eb0 nid=0x17 runnable
    "GC task thread#22 (ParallelGC)" prio=10 tid=0x00000001001e39b0 nid=0x18 runnable
    "GC task thread#23 (ParallelGC)" prio=10 tid=0x00000001001e44b0 nid=0x19 runnable
    "GC task thread#24 (ParallelGC)" prio=10 tid=0x00000001001e4fb0 nid=0x1a runnable
    "GC task thread#25 (ParallelGC)" prio=10 tid=0x00000001001e5ab0 nid=0x1b runnable
    "GC task thread#26 (ParallelGC)" prio=10 tid=0x00000001001e65b0 nid=0x1c runnable
    "GC task thread#27 (ParallelGC)" prio=10 tid=0x00000001001e70b0 nid=0x1d runnable
    "GC task thread#28 (ParallelGC)" prio=10 tid=0x00000001001e7bb0 nid=0x1e runnable
    "GC task thread#29 (ParallelGC)" prio=10 tid=0x00000001001e86b0 nid=0x1f runnable
    "GC task thread#30 (ParallelGC)" prio=10 tid=0x00000001001e91b0 nid=0x20 runnable
    "GC task thread#31 (ParallelGC)" prio=10 tid=0x00000001001e9cb0 nid=0x21 runnable
    "GC task thread#32 (ParallelGC)" prio=10 tid=0x00000001001ea7b0 nid=0x22 runnable
    "GC task thread#33 (ParallelGC)" prio=10 tid=0x00000001001eb2b0 nid=0x23 runnable
    "GC task thread#34 (ParallelGC)" prio=10 tid=0x00000001001ebdb0 nid=0x24 runnable
    "GC task thread#35 (ParallelGC)" prio=10 tid=0x00000001001ec8b0 nid=0x25 runnable
    "GC task thread#36 (ParallelGC)" prio=10 tid=0x00000001001ed3b0 nid=0x26 runnable
    "GC task thread#37 (ParallelGC)" prio=10 tid=0x00000001001edeb0 nid=0x27 runnable
    "GC task thread#38 (ParallelGC)" prio=10 tid=0x00000001001f09c0 nid=0x28 runnable
    "GC task thread#39 (ParallelGC)" prio=10 tid=0x00000001001f14c0 nid=0x29 runnable
    "GC task thread#40 (ParallelGC)" prio=10 tid=0x00000001001f1fc0 nid=0x2a runnable
    "GC task thread#41 (ParallelGC)" prio=10 tid=0x00000001001f2ac0 nid=0x2b runnable
    "GC task thread#42 (ParallelGC)" prio=10 tid=0x00000001001f35c0 nid=0x2c runnable
    "GC task thread#43 (ParallelGC)" prio=10 tid=0x00000001001f40c0 nid=0x2d runnable
    "GC task thread#44 (ParallelGC)" prio=10 tid=0x00000001001f4bc0 nid=0x2e runnable
    "GC task thread#45 (ParallelGC)" prio=10 tid=0x00000001001f56c0 nid=0x2f runnable
    "GC task thread#46 (ParallelGC)" prio=10 tid=0x00000001001f61c0 nid=0x30 runnable
    "GC task thread#47 (ParallelGC)" prio=10 tid=0x00000001001f6cc0 nid=0x31 runnable
    "GC task thread#48 (ParallelGC)" prio=10 tid=0x00000001001f7810 nid=0x32 runnable
    "GC task thread#49 (ParallelGC)" prio=10 tid=0x00000001001f8310 nid=0x33 runnable
    "GC task thread#50 (ParallelGC)" prio=10 tid=0x00000001001f8e10 nid=0x34 runnable
    "GC task thread#51 (ParallelGC)" prio=10 tid=0x00000001001f9910 nid=0x35 runnable
    "GC task thread#52 (ParallelGC)" prio=10 tid=0x00000001001fa410 nid=0x36 runnable
    "GC task thread#53 (ParallelGC)" prio=10 tid=0x00000001001faf10 nid=0x37 runnable
    "GC task thread#54 (ParallelGC)" prio=10 tid=0x00000001001fba10 nid=0x38 runnable
    "GC task thread#55 (ParallelGC)" prio=10 tid=0x00000001001fc510 nid=0x39 runnable
    "GC task thread#56 (ParallelGC)" prio=10 tid=0x00000001001fd010 nid=0x3a runnable
    "GC task thread#57 (ParallelGC)" prio=10 tid=0x00000001001fdb10 nid=0x3b runnable
    "GC task thread#58 (ParallelGC)" prio=10 tid=0x00000001001fe610 nid=0x3c runnable
    "GC task thread#59 (ParallelGC)" prio=10 tid=0x00000001001ff110 nid=0x3d runnable
    "GC task thread#60 (ParallelGC)" prio=10 tid=0x00000001001ffc10 nid=0x3e runnable
    "GC task thread#61 (ParallelGC)" prio=10 tid=0x0000000100200710 nid=0x3f runnable
    "GC task thread#62 (ParallelGC)" prio=10 tid=0x0000000100201210 nid=0x40 runnable
    "GC task thread#63 (ParallelGC)" prio=10 tid=0x0000000100201d10 nid=0x41 runnable
    "VM Periodic Task Thread" prio=10 tid=0x00000001001c93f0 nid=0x4a waiting on condition
    Edited by: krodman on 08-Jan-2010 04:03

  • Error ORA-01403: no data found is not raised using jdbc

    Hy there I have a problem receiving exceptions from oracle jdbc driver.
    I have the following exception stack if i call insert on a view
    using an instead of trigger.
    ORA-01403: no data found
    ORA-04088: error during execution of trigger
    'MYUSER.MY_VIEW_INSERT'
    if I do the insert by sql worksheet.
    If I do same insert using the following driver
    dbDriver = new intersolv.jdbc.sequelink.SequeLinkDriver();
    I will receive this exception:
    java.sql.SQLException: [INTERSOLV][SequeLink JDBC Driver][ORACLE]ORA-01403: Keine Daten gefunden
    Now if I do same thing using oracle driver:
    dbDriver = new oracle.jdbc.driver.OracleDriver();
    there will no exception be raised!
    here is my code:
    public class myFrame extends Frame
    public static void main( String[] args )
    Frame myFrame = new Frame();
    DbPflege dbPanel = new DbPflege();
    Driver dbDriver = null;
    String connectString = null;
    try
    if( args.length != 0 )
    System.out.println( "main: use sequelink!" );
    connectString = "jdbc:sequelink://myServer:4003/[Oracle]";
    dbDriver = new intersolv.jdbc.sequelink.SequeLinkDriver();
    else
    System.out.println( "main: use oracle!" );
    connectString = "jdbc:oracle:thin:@myServer:1521:idb";
    dbDriver = new oracle.jdbc.driver.OracleDriver();
    DriverManager.registerDriver( dbDriver );
    dbPanel.con = DriverManager.getConnection(connectString, "user", "pwd" );
    catch( Exception ex )
    System.out.println( "main: ERROR: " + ex );
    ex.printStackTrace();
    void jBtnExecute_actionPerformed(java.awt.event.ActionEvent event)
    Statement stmt = null;
    int updateCount = -1;
    int colCount = -1;
    ResultSet rs = null;
    ResultSetMetaData rsMeta = null;
    try
    stmt = con.createStatement();
    stmt.execute( textAreaInput.getText() );
    catch( Exception ex )
    textAreaOutput.append( ex.toString() );
    thanks for your help!!!!

    Hi,
    You should run you query in sql workshop with the expected values (which are set after user clicks Save or Apply changes button) for P10_CR_BOM_CODE and P10_CR_ID.
    Also, please have an exception block in the process to catch any exception and make an appropriate Insert into some user defined error-log table. It would be better to log the P10_CR_BOM_CODE and P10_CR_ID values in case of exception.
    These might help you to figure out the cause of exception.
    Regards,
    Mangal

  • Standalone application can't get JDBC data source from Weblogic 10.3

    We have the following configuration :
    A Weblogic server 10.3 (default installation).
    The server contains a JMS queue (jndi name: "DMQ") and JDBC data sources (jndi names: Oracle thin XA - "dataSource", MS SQL - "dataSource1")
    We have built wlfullclient5.jar for Java 1.5 ([http://edocs.bea.com/wls/docs103/client/jarbuilder.html#wp1078122]) (according to the docs)
    And now we use a test standalone application with the wlfullclient5.jar :
    public static void main (String[] args) throws NamingException {
    bq. Hashtable&lt;String, String&gt; env = new Hashtable&lt;String, String&gt;(); \\     env.put(Context.+INITIAL_CONTEXT_FACTORY+, "weblogic.jndi.WLInitialContextFactory"); \\     env.put(Context.+PROVIDER_URL+, "http://serv1:7001"); \\     env.put(Context.+SECURITY_CREDENTIALS+, "weblogic"); \\     env.put(Context.+SECURITY_PRINCIPAL+, "weblogic"); \\     InitialContext ic = new InitialContext(env); \\ \\ System.+out+.println("Get DMQ"); \\     ic.lookup("DMQ"); \\ System.+out+.println("Get dataSource"); \\     ic.lookup("dataSource");
    bq. System.+out+.println("Get dataSource1"); \\     ic.lookup("dataSource1"); \\ System.+out+.println("Done"); \\
    Here is the output when connected to WLS 10.3:
    bq. Get DMQ \\ Get dataSource \\ Exception in thread "Main Thread" java.lang.AssertionError: Failed to generate class for weblogic.jdbc.common.internal.RmiDataSource_1030_WLStub \\ at weblogic.rmi.internal.StubGenerator.generateStub(_StubGenerator.java:790_) \\ at weblogic.rmi.internal.StubGenerator.generateStub(_StubGenerator.java:779_) \\ at weblogic.rmi.extensions.StubFactory.getStub(_StubFactory.java:74_) \\ at weblogic.rmi.internal.StubInfo.resolveObject(_StubInfo.java:213_) \\ at weblogic.rmi.internal.StubInfo.readResolve(_StubInfo.java:207_) \\ 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:585_) \\ at java.io.ObjectStreamClass.invokeReadResolve(_ObjectStreamClass.java:1033_) \\ at java.io.ObjectInputStream.readOrdinaryObject(_ObjectInputStream.java:1728_) \\ at java.io.ObjectInputStream.readObject0(_ObjectInputStream.java:1305_) \\ at java.io.ObjectInputStream.readObject(_ObjectInputStream.java:348_) \\ at weblogic.utils.io.ChunkedObjectInputStream.readObject(_ChunkedObjectInputStream.java:197_) \\ at weblogic.rjvm.MsgAbbrevInputStream.readObject(_MsgAbbrevInputStream.java:564_) \\ at weblogic.utils.io.ChunkedObjectInputStream.readObject(_ChunkedObjectInputStream.java:193_) \\ at weblogic.rmi.internal.ObjectIO.readObject(_ObjectIO.java:62_) \\ at weblogic.rjvm.ResponseImpl.unmarshalReturn(_ResponseImpl.java:240_) \\ at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(_ClusterableRemoteRef.java:348_) \\ at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(_ClusterableRemoteRef.java:259_) \\ at weblogic.jndi.internal.ServerNamingNode_1030_WLStub.lookup(Unknown Source) \\ at weblogic.jndi.internal.WLContextImpl.lookup(_WLContextImpl.java:392_) \\ at weblogic.jndi.internal.WLContextImpl.lookup(_WLContextImpl.java:380_) \\ at javax.naming.InitialContext.lookup(_InitialContext.java:351_) \\ at test.main(_test.java:23_) \\ Caused by: java.lang.reflect.InvocationTargetException \\ at sun.reflect.NativeConstructorAccessorImpl.newInstance0(_Native Method_) \\ at sun.reflect.NativeConstructorAccessorImpl.newInstance(_NativeConstructorAccessorImpl.java:39_) \\ at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(_DelegatingConstructorAccessorImpl.java:27_) \\ at java.lang.reflect.Constructor.newInstance(_Constructor.java:494_) \\ at weblogic.rmi.internal.StubGenerator.generateStub(_StubGenerator.java:788_) \\ at weblogic.rmi.internal.StubGenerator.generateStub(_StubGenerator.java:779_) \\ at weblogic.rmi.extensions.StubFactory.getStub(_StubFactory.java:74_) \\ at weblogic.rmi.internal.StubInfo.resolveObject(_StubInfo.java:213_) \\ at weblogic.rmi.internal.StubInfo.readResolve(_StubInfo.java:207_) \\ 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:585_) \\ at java.io.ObjectStreamClass.invokeReadResolve(_ObjectStreamClass.java:1033_) \\ at java.io.ObjectInputStream.readOrdinaryObject(_ObjectInputStream.java:1728_) \\ at java.io.ObjectInputStream.readObject0(_ObjectInputStream.java:1305_) \\ at java.io.ObjectInputStream.readObject(_ObjectInputStream.java:348_) \\ at weblogic.utils.io.ChunkedObjectInputStream.readObject(_ChunkedObjectInputStream.java:197_) \\ at weblogic.rjvm.MsgAbbrevInputStream.readObject(_MsgAbbrevInputStream.java:564_) \\ at weblogic.utils.io.ChunkedObjectInputStream.readObject(_ChunkedObjectInputStream.java:193_) \\ at weblogic.rmi.internal.ObjectIO.readObject(_ObjectIO.java:62_) \\ at weblogic.rjvm.ResponseImpl.unmarshalReturn(_ResponseImpl.java:240_) \\ at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(_ClusterableRemoteRef.java:348_) \\ at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(_ClusterableRemoteRef.java:259_) \\ at weblogic.jndi.internal.ServerNamingNode_1030_WLStub.lookup(Unknown Source) \\ at weblogic.jndi.internal.WLContextImpl.lookup(_WLContextImpl.java:392_) \\ at weblogic.jndi.internal.WLContextImpl.lookup(_WLContextImpl.java:381_) \\ at javax.naming.InitialContext.lookup(_InitialContext.java:351_) \\ at test.main(_test.java:26_) \\ Caused by: java.lang.ArrayIndexOutOfBoundsException: 6 \\ at weblogic.jdbc.common.internal.RmiDataSource_1030_WLStub.ensureInitialized(Unknown Source) \\ at weblogic.jdbc.common.internal.RmiDataSource_1030_WLStub.&lt;init&gt;(Unknown Source) \\ at sun.reflect.NativeConstructorAccessorImpl.newInstance0(_Native Method_) \\ at sun.reflect.NativeConstructorAccessorImpl.newInstance(_NativeConstructorAccessorImpl.java:39_) \\ at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(_DelegatingConstructorAccessorImpl.java:27_) \\ at java.lang.reflect.Constructor.newInstance(_Constructor.java:494_) \\ at weblogic.rmi.internal.StubGenerator.generateStub(_StubGenerator.java:788_) \\ at weblogic.rmi.internal.StubGenerator.generateStub(_StubGenerator.java:779_) \\ at weblogic.rmi.extensions.StubFactory.getStub(_StubFactory.java:74_) \\ at weblogic.rmi.internal.StubInfo.resolveObject(_StubInfo.java:213_) \\ at weblogic.rmi.internal.StubInfo.readResolve(_StubInfo.java:207_) \\ 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:585_) \\ at java.io.ObjectStreamClass.invokeReadResolve(_ObjectStreamClass.java:1033_) \\ at java.io.ObjectInputStream.readOrdinaryObject(_ObjectInputStream.java:1728_) \\ at java.io.ObjectInputStream.readObject0(_ObjectInputStream.java:1305_) \\ at java.io.ObjectInputStream.readObject(_ObjectInputStream.java:348_) \\ at weblogic.utils.io.ChunkedObjectInputStream.readObject(_ChunkedObjectInputStream.java:197_) \\ at weblogic.rjvm.MsgAbbrevInputStream.readObject(_MsgAbbrevInputStream.java:564_) \\ at weblogic.utils.io.ChunkedObjectInputStream.readObject(_ChunkedObjectInputStream.java:193_) \\ at weblogic.rmi.internal.ObjectIO.readObject(_ObjectIO.java:62_) \\ at weblogic.rjvm.ResponseImpl.unmarshalReturn(_ResponseImpl.java:240_) \\ at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(_ClusterableRemoteRef.java:348_) \\ at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(_ClusterableRemoteRef.java:259_) \\ at weblogic.jndi.internal.ServerNamingNode_1030_WLStub.lookup(Unknown Source) \\ at weblogic.jndi.internal.WLContextImpl.lookup(_WLContextImpl.java:392_) \\ at weblogic.jndi.internal.WLContextImpl.lookup(_WLContextImpl.java:380_) \\ at javax.naming.InitialContext.lookup(_InitialContext.java:351_) \\ at test.main(_test.java:23_)
    But at the same time the output when connected to WLS 10.0 is :
    Get DMQ \\Get dataSource \\Get dataSource1 \\Done
    (so that the test passed)
    Could you give me a piece of advice ?
    Thanks,
    Sergey

    I hit the same problem as yours. This issue is caused by JDK version. The JDK used by Weblogic 10.3 is java 6, while your client program's jdk version is java5. So change the both of them to java 6. This issue will be fixed.
    Don't forget to rebuild the wlfullclient.jar which also should be java 6.
    Good luck!

  • Insertingand retrieving images in database using jdbc

    i am new to jsp.i have to store and retrieve image files using oracle 8i.Then i have to display it using jsp.
    my code for storing image is
    package sample;
    import oracle.jdbc.driver.*;
    import oracle.sql.*;
    import java.sql.*;
    import java.io.*;
    import java.awt.image.*;
    import java.awt.*;
    public class storephoto{
    public static void main(String[] args){
    String filename = "C:/Documents and Settings/user/Desktop/five.gif";
    Connection conn = null;
    try{
    Class.forName("oracle.jdbc.driver.OracleDriver");
    conn=DriverManager.getConnection("jdbc:oracle:thin:@10.1.4.228:1521:data","system","manager");
    conn.setAutoCommit(false);
    Statement st = conn.createStatement();
    int b= st.executeUpdate("insert into bfiles values('"+filename+"', empty_blob())");
    ResultSet rs= st.executeQuery("select * from bfiles for update");
    rs.next();
    BLOB blob=((oracle.jdbc.driver.OracleResultSet)rs).getBLOB(2);
    FileInputStream instream = new FileInputStream(filename);
    System.out.println("instream="+instream);
    OutputStream outstream = blob.getBinaryOutputStream();
    System.out.println("outstream="+outstream);
    int chunk = blob.getChunkSize();
    System.out.println("chunk="+chunk);
    byte[] buff = new byte[chunk];
    int le;
    while( (le=instream.read(buff)) !=-1)
    System.out.println(le);
    outstream.write(buff,0,le);
    System.out.println(buff);
    instream.close();
    outstream.close();
    conn.commit();
    conn.close();
    conn = null;
    System.out.println("Inserted.....");
    catch(Exception e){
    System.out.println("exception"+e.getMessage());
    e.printStackTrace();
    }//catch
    This code works fine & something gets stored in the buffer.but while rereiving nothing gets retreived.i cannot retrieve the image file
    my code for retreiving is
    package sample;
    import java.sql.*;
    import java.io.*;
    import java.awt.*;
    import oracle.sql.BLOB;
    public class retphoto
    public static void main(String a[])
    String fileName ="C:/Documents and Settings/user/Desktop/five.gif";
    try
    Driver driver = new oracle.jdbc.driver.OracleDriver();
    DriverManager.registerDriver(driver);
    Connection con = DriverManager.getConnection("jdbc:oracle:thin:@10.1.4.228:1521:data", "system", "manager");
    File file = new File("C:/Documents and Settings/user/Desktop/sa1.gif");
    FileOutputStream targetFile= new FileOutputStream(file); // define the output stream
    PreparedStatement pstmt = con.prepareStatement("select filecontent from bfiles where filename= ?");
    pstmt.setString(1, fileName);
    ResultSet rs1 = pstmt.executeQuery();
    rs1.next();
    InputStream is = rs1.getBinaryStream(1);
    System.out.println(is);
    byte[] buff = new byte[1024];
    int i = 0;
    while ((i = is.read(buff)) != -1) {
    System.out.println("hai");
    System.out.println(i);
    targetFile.write(buff, 0, i);
    System.out.println("Completed...");
    rs1.close();
    is.close();
    targetFile.close();
    pstmt.close();
    con.close();
    catch(Exception e)
    System.out.println(e);
    }

    Thanks for ur help:
    another Q:
    in my GUI i have a button called Insert. but can't update my database table unless i create textField(e.g Firstname, Surname..ect..), so that when I click Insert button in actionEvent it will bring up popup which have field name in which i am going to insert new records.
    so what iam trying to say is, how iam going to tell the actionEvent to trigger this.
    the following is my code
    public void actionPerformed(ActionEvent event)
    ExamResults exam= new ExamResults ();      
    String studentId = studentTextField.getText();
    if (event.getSource() == insert) //if insert is clicked
    Thanks

  • JDBC DRIVER LINUX TOMCAT APACHE

    Hello all
    I am woking on APACHE + TOMCAT + RH LINUX
    enviorment . I have a main page which calls another JSP on clicking to a button . That JSP makes connection with oracle 7.3.4 which is running on another machine whose enviorment is AIX 4.2 .
    whenever I clicked on button it access the JSP but it could nt find the driver which is classes12.zip in
    TOMCAT_HOME/lib directory and classpath is already set
    Error I am getting is driver not found in case the statement is
    DriverManager.registerDriver (new oracle.jdbc.driver.OracleDriver());
    and error is Document contain no data in case I change the above statement to
    Class.forName("oracle.jdbc.driver.OracleDriver");
    Please help ?
    Thanks in Advance
    Avi

    Thanks for yor reply beattris
    Still it didbnt work Please have a look at the code
    <%
    System.out.println("1");
    Class.forName("oracle.jdbc.driver.OracleDriver");
    System.out.println("2");
    conn = java.sql.DriverManager.getConnection("jdbc:oracle:thin:@blackadder:1521:ORCL","driver","norman");
    stmt = conn.createStatement();
    rs = stmt.executeQuery("SELECT FILE_STATUS FROM GOLFFILES WHERE GOLFFILE_ID = (SELECT MAX(GOLFFILE_ID) FROM GOLFFILES)");
    while (rs.next()) {
    varIsUpdated = rs.getString(1);
    rs.close();
    stmt.close();
    if (varIsUpdated.equals("START") && !(varIsUpdated.equals("LOADED"))) {
    conn.close();
    %>
    Above is the code it comes to JSP and it prints 1 which is above the class.forName statement but after that it wont print 2 .. which means it is able execute this statement
    One more thing do .zip files work on linux
    Please see if u can help ?
    Thanks
    KS

  • Inserting files in to Oracle 8i database through JDBC - Only 4k data file

    Hi,
    I need to insert a files(images or excel files, doc files etc..) in to oracle 8i database through JDBC program. But i am not able to store more than 4k data files in to files. can any body give me solutions regarding this.
    My code is like this...
    String fileName ="Sample.jpg";
                                  String dataSource = "jdbc/oracle";
                   File file=null;
                   FileInputStream fis = null;
                   Context initCtx=null;
                   DataSource ds = null;
                   Connection con = null;
                   try
                        initCtx = new InitialContext();
                        ds = (DataSource)initCtx.lookup(dataSource);
                        con = ds.getConnection();
                      try
                         file = new File(fileName);
                         fis = new FileInputStream(file);
                        catch(FileNotFoundException fe)
                             out.println("File Not Found");
                                            PreparedStatement pstmt = con.prepareStatement("insert into bfiles values(?,?)");
                        pstmt.setString(1, fileName);
                        pstmt.setBinaryStream(2, fis, (int)file.length());
                        pstmt.executeUpdate();
                        out.println("Inserted");
                        fis.close();
                        pstmt.close();
                        con.close();
                        out.println("closed");
                   catch(Exception e)
                        out.println(e);
               }     in Oracle bi i have created a table like this :
    CREATE TABLE BFILES
      FILENAME     VARCHAR2(100)                    DEFAULT NULL,
      FILECONTENT  BLOB                             DEFAULT EMPTY_BLOB()
    )Please help me ourt to solve this problem.
    i got struck in this problem.
    its urgent
    thanks in advance
    djshivu

    Hi Shanu.
    Thanks for your help...
    By Using THIN driver also we can insert any files more than 4k and and retrive same. Fallowing codes worked fine for me using thin Driver .
    Following are the 2 programs to write and read.
    we can insert and retrieve any format of files ( jpg, gif, doc, xsl, exe, etc...)
    =======================================================
    // Program to insert files in to table
    import oracle.jdbc.driver.*;
    import oracle.sql.*;
    import java.sql.*;
    import java.io.*;
    import java.awt.image.*;
    import java.awt.*;
    * @author  Shivakumar D.J
    * @version
    public class WriteBlob{
    public static void main(String[] args){
    String filename = "018-Annexure-A.xls";
    Connection conn = null;
    try{
        Class.forName("oracle.jdbc.driver.OracleDriver");
        conn=DriverManager.getConnection("jdbc:oracle:thin:@test:1521:orcl","modelytics","modelytics");
        conn.setAutoCommit(false);
        Statement st = conn.createStatement();
        int b= st.executeUpdate("insert into bfiles values('"+filename+"', empty_blob())");
        ResultSet rs= st.executeQuery("select * from bfiles for update");
        rs.next();
        BLOB blob=((oracle.jdbc.driver.OracleResultSet)rs).getBLOB(2);
        FileInputStream instream = new FileInputStream(filename);
        OutputStream outstream = blob.getBinaryOutputStream();
        int chunk = blob.getChunkSize();
        byte[] buff = new byte[chunk];
        int le;
        while( (le=instream.read(buff)) !=-1)
            outstream.write(buff,0,le);
        instream.close();
        outstream.close();
        conn.commit();
        conn.close();
        conn = null;
        System.out.println("Inserted.....");
       catch(Exception e){
            System.out.println("exception"+e.getMessage());
            e.printStackTrace();
       }//catch
    }=======================
    // Program to retrieve files from database
    [import java.sql.*;
    import java.io.*;
    import java.awt.*;
    public class ReadImage
    public static void main(String a[])
        String fileName ="018-Annexure-A.xls";
        try
              Driver driver = new oracle.jdbc.driver.OracleDriver();
              DriverManager.registerDriver(driver);
              Connection con = DriverManager.getConnection("jdbc:oracle:thin:@test:1521:orcl", "modelytics", "modelytics");
            File file = new File("C:/Documents and Settings/USERID/Desktop/dump.xls");
              FileOutputStream targetFile=  new FileOutputStream(file); // define the output stream
              PreparedStatement pstmt = con.prepareStatement("select filecontent from bfiles where filename= ?");
              pstmt.setString(1, fileName);
               ResultSet rs = pstmt.executeQuery();
               rs.next();
               InputStream is = rs.getBinaryStream(1);
              byte[] buff = new byte[1024];
               int i = 0;
               while ((i = is.read(buff)) != -1) {
                    targetFile.write(buff, 0, i);
                   System.out.println("Completed...");
            is.close();
            targetFile.close();
            pstmt.close();
           con.close();
        catch(Exception e)
              System.out.println(e);
    }====================
    Table Structure is like this
    CREATE TABLE BFILES
      FILENAME     VARCHAR2(100)                    DEFAULT NULL,
      FILECONTENT  BLOB                             DEFAULT EMPTY_BLOB()
    )========================================================
    i hope above codes will helpful for our future programmers
    thanks shanu...
    regards
    djshivu...(javashivu)

Maybe you are looking for