Driver files in oracle jdbc library

Hi, as all of you know that a file, classes32.zip distributed with oracle client to support jdbc connectivity is so huge in physical size on disk. But, some of my colleague told me that there are just 2 or 3 classes that are actually used by java application to get connected and run all SQL commands against an oracle instance. Rest of the package is actually advance level support to other things like DB level access or some system querying support.
Can someone out there confirm it ?
cheers,
RK.

>
You shouldn't have to download anything to a client if
you do your database interactions on the server side,
where they belong.
Ok. now let me clear my problem. First of all, classes12.zip will be required in its full package form .. yes right ManjuTheGreat. Actually its a swing based application and it will be executed via JNLP (java webstart App). Its size is already around 3 to 4 mb in size, n really i am no more interested to increase my (.jar) file size by packaging oracle driver library with it. It will slow down the download process at client-side and nature of application is actually a bidding agent for forex houses as clients and other business entities. It will update the bids, quantity and other business related info to the remote oracle db. I think i have given enough information for this problem.
What do u ppl say....??

Similar Messages

  • Oracle JDBC Library

    Hello all,
    I have just installed the new jdev version 11.1.1.0.2 and I seem to be missing some libraries, in particular the Oracle JDBC library. I don't seem to be able to add it using "check for updates ...". I can be wrong but I believe that library was included in the previous version, any ideas?
    Regards,
    wf

    Taking a look to the Oracle JDBC library definition, it states that the javadoc should be available at some directory but it is not. Any ideas what went wrong? I can access the javadoc online but it would be nice to do it from jdev, it safes time!
    Thanks,
    wf

  • EJB - no suitable driver found for oracle jdbc driver

    this is the exception i got when i run the client:
    java.rmi.RemoteException: nested exception is: java.sql.SQLException: No suitable driver; nested exception is:
    java.sql.SQLException: No suitable driver
    java.sql.SQLException: No suitable driver
    at java.sql.DriverManager.getConnection(DriverManager.java:537)
    at java.sql.DriverManager.getConnection(DriverManager.java:177)
    at com.sun.enterprise.resource.JdbcUrlAllocator.createResource(JdbcUrlAllocator.java:45)
    at com.sun.enterprise.resource.PoolManagerImpl.getResourceFromPool(PoolManagerImpl.java:177)
    at com.sun.enterprise.resource.JdbcXAConnection.<init>(JdbcXAConnection.java:56)
    at com.sun.enterprise.resource.Jdbc10XaAllocator.createResource(Jdbc10XaAllocator.java:66)
    at com.sun.enterprise.resource.PoolManagerImpl.getResourceFromPool(PoolManagerImpl.java:177)
    at com.sun.enterprise.resource.PoolManagerImpl.getResource(PoolManagerImpl.java:126)
    at com.sun.enterprise.resource.JdbcDataSource.internalGetConnection(JdbcDataSource.java:137)
    at com.sun.enterprise.resource.JdbcDataSource.getConnection(JdbcDataSource.java:74)
    at bmp.TaxEJB.ejbCreate(TaxEJB.java:34)
    at bmp.TaxEJB_RemoteHomeImpl.create(TaxEJB_RemoteHomeImpl.java:32)
    at bmp._TaxEJB_RemoteHomeImpl_Tie._invoke(Unknown Source)
    at com.sun.corba.ee.internal.POA.GenericPOAServerSC.dispatchToServant(GenericPOAServerSC.java:520)
    at com.sun.corba.ee.internal.POA.GenericPOAServerSC.internalDispatch(GenericPOAServerSC.java:210)
    at com.sun.corba.ee.internal.POA.GenericPOAServerSC.dispatch(GenericPOAServerSC.java:112)
    at com.sun.corba.ee.internal.iiop.ORB.process(ORB.java:255)
    at com.sun.corba.ee.internal.iiop.RequestProcessor.process(RequestProcessor.java:84)
    at com.sun.corba.ee.internal.orbutil.ThreadPool$PooledThread.run(ThreadPool.java:99)
    this is the implementation file (TaxEJB):
    package bmp;
    import java.sql.*;
    import javax.sql.*;
    import javax.naming.*;
    import java.util.*;
    import javax.ejb.*;
    public class TaxEJB implements EntityBean {
    private String stateCode;
    private float taxRate;
    private EntityContext ctx;
    private DataSource ds;
    private String dbName = "jdbc/Oracle";
    private Connection con;
    public void setTaxRate(float taxRate) {
    this.taxRate = taxRate;
    public float getTaxRate() {
    return this.taxRate;
    public String ejbCreate(String stateCode, float taxRate)
    throws CreateException {
    if (stateCode == null) {
    throw new CreateException("The State Code is required.");
    try {
    String sqlStmt = "INSERT INTO TaxTable VALUES ( ? , ? )";
    con = ds.getConnection();
    PreparedStatement stmt = con.prepareStatement(sqlStmt);
    stmt.setString(1, stateCode);
    stmt.setFloat(2, taxRate);
    stmt.executeUpdate();
    stmt.close();
    } catch (SQLException sqle) {
    throw new EJBException(sqle);
    } finally {
    try {
    if (con != null) {
    con.close();
    } catch (SQLException sqle) {}
    this.stateCode = stateCode;
    this.taxRate = taxRate;
    return stateCode;
    public void ejbPostCreate(String stateCode, float taxRate) {}
    public void setEntityContext(EntityContext context) {
    this.ctx = context;
    try {
    InitialContext initial = new InitialContext();
    ds = (DataSource)initial.lookup(dbName);
    } catch (NamingException ne) {
    throw new EJBException(ne);
    public void unsetEntityContext() {
    ctx = null;
    public void ejbActivate() {
    stateCode = (String)ctx.getPrimaryKey();
    public void ejbPassivate() {
    stateCode = null;
    public void ejbLoad() {
    try {
    String sqlStmt = "SELECT stateCode, taxRate FROM TaxTable " +
    "WHERE stateCode = ? ";
    con = ds.getConnection();
    PreparedStatement stmt = con.prepareStatement(sqlStmt);
    stmt.setString(1, stateCode);
    ResultSet rs = stmt.executeQuery();
    if (rs.next()) {
    this.taxRate = rs.getFloat("taxRate");
    stmt.close();
    } else {
    stmt.close();
    throw new NoSuchEntityException("State Code: " + stateCode);
    } catch (SQLException sqle) {
    throw new EJBException(sqle);
    } finally {
    try {
    if (con != null) {
    con.close();
    } catch (SQLException sqle) {}
    public void ejbStore() {
    try {
    String sqlStmt = "UPDATE TaxTable SET "
    + "taxRate = ? " + "WHERE stateCode = ?";
    con = ds.getConnection();
    PreparedStatement stmt = con.prepareStatement(sqlStmt);
    stmt.setFloat(1, taxRate);
    stmt.setString(2, stateCode);
    if (stmt.executeUpdate() != 1) {
    throw new EJBException("Object state could not be saved");
    stmt.close();
    } catch (SQLException sqle) {
    throw new EJBException(sqle);
    } finally {
    try {
    if (con != null) {
    con.close();
    } catch (SQLException sqle) {}
    public void ejbRemove() {
    try {
    String sqlStmt = "DELETE FROM TaxTable WHERE stateCode = ? ";
    con = ds.getConnection();
    PreparedStatement stmt = con.prepareStatement(sqlStmt);
    stmt.setString(1, stateCode);
    stmt.executeUpdate();
    stmt.close();
    } catch (SQLException sqle) {
    throw new EJBException(sqle);
    } finally {
    try {
    if (con != null) {
    con.close();
    } catch (SQLException sqle) {}
    public String ejbFindByPrimaryKey(String primaryKey)
    throws FinderException {
    try {
    String sqlStmt = "SELECT stateCode "
    + "FROM TaxTable WHERE stateCode = ? ";
    con = ds.getConnection();
    PreparedStatement stmt = con.prepareStatement(sqlStmt);
    stmt.setString(1, primaryKey);
    ResultSet rs = stmt.executeQuery();
    if (!rs.next()) {
    throw new ObjectNotFoundException();
    rs.close();
    stmt.close();
    return primaryKey;
    } catch (SQLException sqle) {
    throw new EJBException(sqle);
    } finally {
    try {
    if (con != null) {
    con.close();
    } catch (SQLException sqle) {}
    public Collection ejbFindInRange(float lowerLimit, float upperLimit)
    throws FinderException {
    try {
    String sqlStmt = "SELECT stateCode from TaxTable "
    + "WHERE taxRate BETWEEN ? AND ?";
    con = ds.getConnection();
    PreparedStatement stmt = con.prepareStatement(sqlStmt);
    stmt.setFloat(1, lowerLimit);
    stmt.setFloat(2, upperLimit);
    ResultSet rs = stmt.executeQuery();
    ArrayList list = new ArrayList();
    while (rs.next()) {
    String id = rs.getString(1);
    list.add(id);
    stmt.close();
    return list;
    } catch (SQLException sqle) {
    throw new EJBException(sqle);
    } finally {
    try {
    if (con != null) {
    con.close();
    } catch (SQLException sqle) {}
    this is the setting in resource.properties:
    jdbcDataSource.5.name=jdbc/Oracle
    jdbcDataSource.5.url=jdbc\:oracle\:thin\:@nicole\:1521\:NICOLE
    jdbcDriver.1.name=oracle.jdbc.driver.OracleDriver
    this is my classpath setting:
    %J2EE_HOME%\lib\j2ee.jar;%J2EE_HOME%\lib\system\cloudscape.jar;%J2EE_HOME%\lib\system\cloudutil.jar;%J2EE_HOME%\lib\cloudscape\RmiJdbc.jar;%J2EE_HOME%\lib\system\classes12.jar;.
    since i already declare classpath for oracle JDBC Driver (classes12.jar), why the program still can't found the oracle.jdbc.driver.OracleDriver? please help. thanks.

    Hi,
    I m trying to connect ORACLE9i using JSP.But i encounter the error java.sql.SQlException no suitable driver found.My code is as follows.
    <html>
    <head><title>oracle</title></head>
    <body>
    <%@ page language="java"%>
    <%@ page import="java.sql.*" %>
    <%
    String eid=new String();
    String en=new String();
    try
    try{
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    catch(ClassNotFoundException cnfe)
         out.println("Failed to load Jdbc Odbc driver");
    try{
    Connection con = DriverManager.getConnection("jdbc:oracle:thin@localhost:1521:ORACLE9I","scott","tiger");
    Statement ps = con.createStatement();
    try{
    ResultSet rs = ps.executeQuery("select * from empDetails");
    while(rs.next())
         out.println(rs.getString(1));
         out.println(rs.getString(2));
    rs.close();
    }catch(SQLException se)
    out.println(se);
    ps.close();
    con.close();
    catch(Exception e)
         out.println(e);
    catch (Exception e){
    out.println(e);
    %>
    </body></html>
    Pls anyone give me a solution.Its really urgent.

  • Oralce 10G2 JDBC Driver - Error Loading oracle.jdbc.driver.OracleDriver

    When attemping to use the 10G2 jdbc driver the following NoClassDefFoundError is encountered:
    Exception in thread "main" java.lang.NoClassDefFoundError: while resolving class: oracle.jdbc.driver.OracleDriver
    <<No stacktrace available>>
    Caused by: java.lang.ClassNotFoundException: oracle.security.pki.OracleWallet not found in [file:./, file:ojdbc1410g2.jar, file:/usr/share/java/libgcj-3.4.4.jar, file:./, core:/]
    <<No stacktrace available>>
    The error does not occur when reverting back to the 9 jdbc driver. Does anyone know what is causing this behavior?
    Regards,
    Paul

    Paul,
    Actually, class "oracle.jdbc.OracleDriver" extends class "oracle.jdbc.driver.OracleDriver".
    So check the JAR files in the list displayed by your error message and see if any of them contain the [missing] class, for example:
    jar tvf ojdbc1410g2.jar oracle/jdbc/driver/OracleDriver.classGood Luck,
    Avi.

  • Admin_client jar - add "remove-inherited" for oracle.jdbc shared library

    Guys,
    I am using admin_client.jar utility which comes oracle 10.1.3 to deploy our web-application on the oc4j server, everythings is working fine, except for this small issue, where i want to avoid having the shared library "oracle.jdbc" inherited by web-module (which is by default inherited by all apps apparently), since i want to use the oracle-jdbc driver bundled with the war. Now i do that the solution is to introduce a "remove-inherited" tag (for the oracle.jdbc library) under the "inherited-shared-libraries" element in the orion-application.xml file (generated on deployment by oc4j), but what i want to know is how to automate this process of adding this entry, since we dont want to have any manual intervention on deployment.
    Though admin_client.jar so far has provided all the functionality required for deployment but it apprarently doesnt any way where we can specify the shared-libraries not to be inherited by the deployed war..
    Any comments/suggestions ?
    Thanks and Regards,
    Message was edited by:
    user632496
    Message was edited by:
    user632496

    Alright that makes sense.
    Yes, spot on. The suggestion I made was contingent on having an EAR file -- even though we accept a WAR file from you, we ultimately produce an EAR file from it during the deployment phase. If you don't want to produce an EAR file then its not viable for you.
    Another possible solution is one that you are sort of suggesting here -- each application can be specified as a child of a parent application -- from which it will inherit various libraries and configuration settings.
    What you could do is to deploy a single, dedicated application on which you configure the shared-library import to the JDBC driver you want -- and then you simply choose that application as the parent, whereupon the child application will pick up the shared-library setting.
    There current, visible parent of all deployed applications is the "default" application. What you could do is to tweak the configuration of the default applicaiton so it uses a different JDBC library to the one it inherits from its actual parent (the system application). The configuration for the default application is contained within the j2ee/home/config/application.xml file -- which if you look at it, is actually an "orion-application.xml" file. So if you make the change there, it will apply to all the applications that are deployed to the container.
    Just found it in the doc:
    http://download.oracle.com/docs/cd/B32110_01/web.1013/b28952/classload.htm#CIHFFBCA
    Even easier, what you evaluate is a simpler approach where you install and publish the Oracle JDBC driver you wish to use, with the name "oracle.jdbc" and set it with a higher version (which I assume you are doing) than the deafault one -- whereby from how the config in the application.xml is set and where the oracle.jdbc driver is imported, it should pick up the higher version -- so that way you don't even need to change the config file -- simply publish the later versioned library using the name oracle.jdbc and it should be picked up.
    Currently the version in 10.1.3.3 is:
    <shared-library name="oracle.jdbc" parent="api" version="10.1.0_2">
    So if you published the jdbc driver you want to use with the name oracle.jdbc and a higher version, then the import of oracle.jdbc will default to the latest version, which should pick up your library.
    Thus all you need to do is a one-off publishing operation of a new shared-library (oracle.jdbc: 10.1.2.3 for example) and it then should be picked up implicitly by all deployed applications.
    Worth testing my theory though ... ;-)
    -steve-

  • Oracle jdbc driver spending 40 seconds to make connection to Oracle db 11g

    we are using weblogic 10.3.3 and teh default Oracle11.1.0.7 Driver ojdbc6.jar to talk to Oracle db 11.2.0.1
    After reviewing weblogic logs I see that it takes 50 secodns for each connection to db
    HHere is a snippet (note I put in a 10 sec login dleay as i was experimenting, butt eh problem still occurs with or without login delay)
    <Dec 21, 2010 1:28:19 AM GMT> <Info> <JDBC> <BEA-001516> <Connection Pool "acm_repository" connected to Database: "Oracle", Version: "Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
    With the Partitioning, Automatic Storage Management, OLAP, Data Mining
    and Real Application Testing options".>
    Dec 21, 2010 1:28:19 AM GMT> <Info> <JDBC> <BEA-001517> <Connection Pool "acm_repository" using Driver: "Oracle JDBC driver", Version: "11.1.0.7.0-Production".>
    <Dec 21, 2010 1:28:19 AM GMT> <Info> <JDBC> <BEA-001132> <Initialized statement cache of size "10" for connection in pool "acm_repository".>
    <Dec 21, 2010 1:28:19 AM GMT> <Info> <JDBC> <BEA-001066> <Delaying 10 seconds before making a acm_repository pool connection.>
    <Dec 21, 2010 1:29:09 AM GMT> <Info> <JDBC> <BEA-001068> <Connection for pool "acm_repository" created.>
    There is someting wrong in this environment
    I donwloaded the _g version fo teh exact same driver and had weblogic use it so I could generate verbose logs
    Here is a snippet fo teh oracle drivers verbose log file . If you notice the key parts
    it seems like its spending 40 second to make the connection, goes into a setConnectionDuringExceptionHandling method and creates the connection
    can someone shed light on what causes itto go into an exception state
    This happens for each and every connection but only in one specific environment
    we have other environments which seem towork fine with the exact same product versions except for this environment
    Thank you for any guidance on troubleshooting this further
    -Y
    Dec 21, 2010 1:27:38 AM oracle.jdbc.driver.PhysicalConnection parseConnectionProperty_Object
    TRACE_16: Exit
    Dec 21, 2010 1:27:38 AM oracle.jdbc.driver.PhysicalConnection readOCIConnectionPoolProperties
    TRACE_16: Exit
    Dec 21, 2010 1:27:38 AM oracle.jdbc.driver.PhysicalConnection readConnectionProperties
    TRACE_16: Exit
    Dec 21, 2010 1:27:38 AM oracle.jdbc.driver.PhysicalConnection initialize
    TRACE_16: Enter: null, null, null
    Dec 21, 2010 1:27:38 AM oracle.jdbc.driver.PhysicalConnection initialize
    TRACE_16: Exit
    Dec 21, 2010 1:27:38 AM oracle.jdbc.driver.PhysicalConnection needLine
    TRACE_16: Enter:
    Dec 21, 2010 1:27:38 AM oracle.jdbc.driver.PhysicalConnection needLineUnchecked
    TRACE_16: Enter:
    Dec 21, 2010 1:27:38 AM oracle.jdbc.driver.PhysicalConnection needLineUnchecked
    TRACE_16: Exit
    Dec 21, 2010 1:27:38 AM oracle.jdbc.driver.PhysicalConnection needLine
    TRACE_16: Exit
    Dec 21, 2010 1:27:38 AM oracle.jdbc.driver.T4CConnection logon
    **TRACE_16: Enter:**
    **Dec 21, 2010 1:27:38 AM oracle.jdbc.driver.T4CConnection connect**
    **TRACE_16: Enter: "10.135.3.80:1521:EPFDSQA"**
    **Dec 21, 2010 1:28:18 AM oracle.jdbc.driver.T4CMAREngine setConnectionDuringExceptionHandling**
    **TRACE_16: Enter:**
    **Dec 21, 2010 1:28:18 AM oracle.jdbc.driver.T4CMAREngine setConnectionDuringExceptionHandling**
    TRACE_16: ExitDec 21, 2010 1:28:18 AM oracle.jdbc.driver.DBConversion findDriverCharSet
    TRACE_16: Enter: 178, 8100
    Dec 21, 2010 1:28:18 AM oracle.jdbc.driver.DBConversion findDriverCharSet
    TRACE_16: return: 178
    Dec 21, 2010 1:28:18 AM oracle.jdbc.driver.DBConversion findDriverCharSet
    TRACE_16: Exit
    Dec 21, 2010 1:28:18 AM oracle.jdbc.driver.DBConversion <init>
    TRACE_16: Enter: 178, 178, 2000
    Dec 21, 2010 1:28:18 AM oracle.jdbc.driver.DBConversion init
    TRACE_16: Enter: 178, 178, 2000

    I would file an oracle jdbc bug to begin with, but I am guessing the driver is simply waiting
    for the DBMS to respond, so yo may need a good DBA to see what the DBMS thinks is going
    on at the time. I did hear of a case where the DBMS was doing some auditing, logging
    some info during every login. This info was being written to an OS file which just happened
    to be remote-mounted and would occasionally take 30 seconds, which caused connection
    requests to timeout at the driver end.... WebLogic is just asking the driver for a connection
    using your properties, so it's not involved directly with the problem....

  • Oracle JDBC Thin Driver

    I am using CLOBS with the Oracle thin driver and am experiencing horrible performance. We need datavalues more than a VARCHAR2 and have used CLOB but the method Oracle uses to get the data in and out is super slow.
    MS SQL Server JDBC with text is awesome and fast. But Oracle is slow and very cumbersome.
    Help

    We are using 9.0.2.
    So what you are saying is although the column is CLOB
    in Oracle 10 g we can use a normal result set
    rset.getString( 1 ) no special oracle stuff just the
    e Oracle thin driver for 10g?
    Also this will retrieve a String greater than 4000
    bytes?Exactly. Not only you can retieve a clob as string, you can also insert clob
    as a string too. Here is the code I referred in last post in case you do not
    have access to oracle ten network:
    * @author Savitha
    * @version 1.0
    * Development Environment : Oracle JDeveloper 10g
    * Name of the Application : ClobManipulationIn10g.java
    * Creation/Modification History :
    * Savitha 17-Mar-2004 Created.
    package oracle.otnsamples.jdbc;
    // Java SQL classes
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.Statement;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    // Oracle JDBC driver class
    import oracle.jdbc.OracleDriver;
    // Java IO classes
    import java.io.IOException;
    import java.io.BufferedReader;
    import java.io.FileNotFoundException;
    import java.io.FileReader;
    //Java Util classes
    import java.util.Properties;
    * This class demonstrates the Oracle JDBC 10g enhanced features for inserting
    * and retrieving CLOB data from the database. Using the new features, large
    * data of more than 32765 bytes can be inserted into the database using the
    * existing PreparedStatement.setString() and PreparedStatement.getString()
    * methods.
    public class ClobManipulationIn10g {
    /* Database Connection object */
    private Connection conn = null;
    /* Variables to hold database details */
    private String url = null;
    private String user = null;
    private String password = null;
    // Create a property object to hold the username, password and
    // the new property SetBigStringTryClob.
    private Properties props = new Properties();
    /* String to hold file name */
    private String fileName = null;
    * Default Constructor to instantiate and get a handle to class methods
    * and variables.
    public ClobManipulationIn10g(String fileName) {
    this.fileName = fileName;
    * Main runnable class.
    public static void main(String[] args) throws SQLException {
    // Instantiate the main class.
    ClobManipulationIn10g clobManipulationIn10g =
    new ClobManipulationIn10g(args[0]);
    // Load the Oracle JDBC driver class.
    DriverManager.registerDriver(new OracleDriver());
    // Load the database details into the variables.
    String dbUrl = "jdbc:oracle:thin:@<database host machine>:<port>:<SID>";
    clobManipulationIn10g.url = dbUrl;
    // Replace the username where the table 'clob_tab' was created.
    clobManipulationIn10g.user = "scott";
    // Replace the password of the username.
    clobManipulationIn10g.password = "tiger";
    // Populate the property object to hold the username, password and
    // the new property 'SetBigStringTryClob' which is set to true. Setting
    // this property allows inserting of large data using the existing
    // setString() method, to a CLOB column in the database.
    clobManipulationIn10g.props.put("user", clobManipulationIn10g.user );
    clobManipulationIn10g.props.put("password", clobManipulationIn10g.password);
    clobManipulationIn10g.props.put("SetBigStringTryClob", "true");
    // Check if the table 'CLOB_TAB' is present in the database.
    clobManipulationIn10g.checkTables();
    // Call the methods to insert and select CLOB from the database.
    clobManipulationIn10g.insertClob();
    clobManipulationIn10g.selectClob();
    * This method will insert the data into a CLOB column in the database.
    * Oracle JDBC 10g has enhanced the existing PreparedStatement.setString()
    * method for setting the data more than 32765 bytes. So, using setString(),
    * it is now easy to insert CLOB data into the database directly.
    private void insertClob() throws SQLException {
    // Create a PreparedStatement object.
    PreparedStatement pstmt = null;
    try {
    // Create the database connection, if it is closed.
    if ((conn==null)||conn.isClosed()){
    // Connect to the database.
    conn = DriverManager.getConnection( this.url, this.props );
    // Create SQL query to insert data into the CLOB column in the database.
    String sql = "INSERT INTO clob_tab VALUES(?)";
    // Read a big file(larger than 32765 bytes)
    String str = this.readFile();
    // Create the OraclePreparedStatement object
    pstmt = conn.prepareStatement(sql);
    // Use the same setString() method which is enhanced to insert
    // the CLOB data. The string data is automatically transformed into a
    // clob and inserted into the database column. Make sure that the
    // Connection property - 'SetBigStringTryClob' is set to true for
    // the insert to happen.
    pstmt.setString(1,str);
    // Execute the PreparedStatement
    pstmt.executeUpdate();
    } catch (SQLException sqlex) {
    // Catch Exceptions and display messages accordingly.
    System.out.println("SQLException while connecting and inserting into " +
    "the database table: " + sqlex.toString());
    } catch (Exception ex) {
    System.out.println("Exception while connecting and inserting into the" +
    " database table: " + ex.toString());
    } finally {
    // Close the Statement and the connection objects.
    if (pstmt!=null) pstmt.close();
    if (conn!=null) conn.close();
    * This method reads the CLOB data from the database by using getString()
    * method.
    private void selectClob() throws SQLException {
    // Create a PreparedStatement object
    PreparedStatement pstmt = null;
    // Create a ResultSet to hold the records retrieved.
    ResultSet rset = null;
    try {
    // Create the database connection, if it is closed.
    if ((conn==null)||conn.isClosed()){
    // Connect to the database.
    conn = DriverManager.getConnection( this.url, this.props );
    // Create SQL query statement to retrieve records having CLOB data from
    // the database.
    String sqlCall = "SELECT clob_col FROM clob_tab";
    pstmt= conn.prepareStatement(sqlCall);
    // Execute the PrepareStatement
    rset = pstmt.executeQuery();
    String clobVal = null;
    // Get the CLOB value from the resultset
    while (rset.next()) {
    clobVal = rset.getString(1);
    System.out.println("CLOB length: "+clobVal.length());
    } catch (SQLException sqlex) {
    // Catch Exceptions and display messages accordingly.
    System.out.println("SQLException while connecting and querying the " +
    "database table: " + sqlex.toString());
    } catch (Exception ex) {
    System.out.println("Exception while connecting and querying the " +
    "database table: " + ex.toString());
    } finally {
    // Close the resultset, statement and the connection objects.
    if (rset !=null) rset.close();
    if (pstmt!=null) pstmt.close();
    if (conn!=null) conn.close();
    * Method to check if the table ('CLOB_TAB') exists in the database; if not
    * then it is created.
    * Table Name: CLOB_TAB
    * Column Name Type
    * col_col CLOB
    private void checkTables() {
    Statement stmt = null;
    ResultSet rset = null;
    try {
    // Create the database connection, if it is closed.
    if ((conn==null)||conn.isClosed()){
    // Connect to the database.
    conn = DriverManager.getConnection( this.url, this.props );
    // Create Statement object
    stmt = conn.createStatement();
    // Check if the table is present
    rset = stmt.executeQuery(" SELECT table_name FROM user_tables "+
    " WHERE table_name = 'CLOB_TAB' ");
    // If the table is not present, then create the table.
    if (!rset.next()) {
    // Table does not exist, create it
    stmt.executeUpdate(" CREATE TABLE clob_tab(clob_col CLOB)");
    } catch (SQLException sqlEx) {
    System.out.println("Could not create table clob_tab : "
    +sqlEx.toString());
    } finally {
    try {
    if( rset != null ) rset.close();
    if( stmt != null ) stmt.close();
    if (conn!=null) conn.close();
    } catch(SQLException ex) {
    System.out.println("Could not close objects in checkTables method : "
    +ex.toString());
    * This method reads the specified text file and, returns the content
    * as a string.
    private String readFile()
    throws FileNotFoundException, IOException{
    // Read the file whose content has to be passed as String
    BufferedReader br = new BufferedReader(new FileReader(fileName));
    String nextLine = "";
    StringBuffer sb = new StringBuffer();
    while ((nextLine = br.readLine()) != null) {
    sb.append(nextLine);
    // Convert the content into to a string
    String clobData = sb.toString();
    // Return the data.
    return clobData;
    }

  • Oracle jdbc driver with debug capability

    I have been using MagicDraw UML to reverse engineer DDL and UML classes from Oracle databases. I recently loaded some public domain hydrology data using FEM, a geophysical data translation tool. After doing this, I get:
    Parsing failed (Oracle - sample) ORA-00942: table or view does not exist
    registerDriver: driver[className=oracle.jdbc.driver.OracleDriver,oracle.jdbc.driver.OracleDriver@331fd8]
    skipping: driver[className=oracle.jdbc.driver.OracleDriver,oracle.jdbc.driver.OracleDriver@93068a]
    skipping: driver[className=oracle.jdbc.driver.OracleDriver,oracle.jdbc.driver.OracleDriver@f18070]
    skipping: driver[className=oracle.jdbc.driver.OracleDriver,oracle.jdbc.driver.OracleDriver@17b9223]
    skipping: driver[className=oracle.jdbc.driver.OracleDriver,oracle.jdbc.driver.OracleDriver@107eafc]
    skipping: driver[className=oracle.jdbc.driver.OracleDriver,oracle.jdbc.driver.OracleDriver@f2a824]
    skipping: driver[className=oracle.jdbc.driver.OracleDriver,oracle.jdbc.driver.OracleDriver@53d29b]
    skipping: driver[className=oracle.jdbc.driver.OracleDriver,oracle.jdbc.driver.OracleDriver@27d525]
    skipping: driver[className=oracle.jdbc.driver.OracleDriver,oracle.jdbc.driver.OracleDriver@15d84e0]
    skipping: driver[className=oracle.jdbc.driver.OracleDriver,oracle.jdbc.driver.OracleDriver@792357]
    skipping: driver[className=oracle.jdbc.driver.OracleDriver,oracle.jdbc.driver.OracleDriver@1f92ac0]
    skipping: driver[className=oracle.jdbc.driver.OracleDriver,oracle.jdbc.driver.OracleDriver@517dc]
    Oracle Jdbc tracing is not avaliable in a non-debug zip/jar file
    SQLException: SQLState(42000) vendor code(942)
    MagicDraw support has suggested that I use jar or zip that provides debug capability. Where can I find such a driver?

    In the Downloads section, there are the regular JDBC drivers (i.e. ojdbc14.zip) and the debug JDBC drivers (i.e. ojdbc14_g.zip).
    Justin
    Distributed Database Consulting, Inc.
    www.ddbcinc.com/askDDBC

  • How JBO Tester can find non-Oracle JDBC driver?

    1.JD 3.2(BC4J 3.2) can build bc4j application
    on foreign database.
    2.download Informix JDBC 2.11 Driver and modify jdeveloper.ini to add the dirver classpath
    3.successfully create a bc4j projects
    (informix jdbc url:
    jdbc:informix-sqli://myhost:1533:informixserver=myserver;user=rdtest;password=test
    database browser ok.
    4.Informix jdbc sample run ok in JD.
    5.Run JBO Tester fail:
    JBO-26061: Error while opening JDBC connection.(no suitable driver)
    6.I am puzzled...
    Any one can give me a solution?
    Thanks a lot.

    Double click on your project and make sure you included the Oracle JDBC library in the project's library settings.

  • Jdeveloper 11g: how to change the extension library Oracle JDBC

    Hello
    We use JDeveloper 11g for our desktop (swing) projects. When I debug the project in IDE, the classpath includes this jar: C:\Oracle\jdevstudio1117\oracle_common\modules\oracle.jdbc_11.1.1\ojdbc6dms.jar
    The ojdbc6dms.jar is in Oracle JDBC extension library. We actually want to use ojdbc14dms.jar as our jdbc library jar. I exclude the ojdbc6dms.jar in the project classpath setting and add a user library for ojdbc14dms.jar. When I run the project, the IDE still use ojdbc6dms.jar in the classpath. I try to use "Manage Libraries" under "Tools" menu to change the jar file in Oracle JDBC extension library, but it cannot be changed.
    Can I ask how to change ojdbc6dms.jar to ojdbc14dms.jar in Oracle JDBC? Or, how can I let the IDE not use ojdbc6dms.jar when I run the project? Thank you
    Leaf

    Replace the ojdbc6dms.jar with ojdbc14dms.jar in C:\Oracle\jdevstudio1117\oracle_common\modules\oracle.jdbc_11.1.1
    The ojdbc14dms.jar may be required to be renamed to ojdbc6dms.jar in the C:\Oracle\jdevstudio1117\oracle_common\modules\oracle.jdbc_11.1.1 as the pre-configured settings are for ojdbc6dms.jar.
    Edited by: dvohra21 on Jun 3, 2013 5:47 AM

  • CLassCastException with oracle.jdbc.driver.OracleCallableStatement

    Hello,
    I get a ClassCastException when I try to execute a Stored Procedure with WL6.1
    and the JDriver.
    I have a servlet who intanciate a Bean and call to his execute() method in this
    way:
    Context ctx = null;
    Hashtable ht = new Hashtable();
    Connection conn = null;
    ht.put(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory");
    try {
    ctx = new InitialContext(ht);
    javax.sql.DataSource ds = (javax.sql.DataSource)ctx.lookup(connPool);
    conn = ds.getConnection();
    conn.setAutoCommit(true);
    SvcEmpEstObt empEstObt = new SvcEmpEstObt();
    empEstObt.setMaxRows(100);
    empEstObt.setConnection(conn);
    //Get parameters from Http Get and set the JB
    empEstObt.setEmpRut(request.getParameter("rut"));
    empEstObt.setEmpTimeStamp(request.getParameter("timestamp"));
    //Execute Service
    empEstObt.execute();
    /* ********* the execute() method of the jb is listed here */
    public int execute() throws ClassNotFoundException, SQLException{
    intreturnedRows = 0;
    try {if (connection == null){
    try {Class.forName(driver);
    } catch (ClassNotFoundException e) {
    System.err.println("ClassNotFoundException: " + e);
    throw e;
    connection = DriverManager.getConnection(url, user, password);
    row = -1;
    srv_message = String.valueOf(maxRows);
    String sp = "{call SvcEmpEstObt_Pkg.SvcEmpEstObt(?, ?, ?, ?, ?, ?, ?, ?, ?, ?)}";
    oracle.jdbc.driver.OracleCallableStatement procout = (oracle.jdbc.driver.OracleCallableStatement)
    connection.prepareCall(sp); // The exception is here
    procout.registerOutParameter(1, Types.VARCHAR);
    procout.setString(1, srv_message);
    procout.setString(2, empRut);
    procout.setString(3, empTimeStamp);
    procout.registerOutParameter(4, Types.VARCHAR);
    procout.registerOutParameter(5, Types.VARCHAR);
    procout.registerOutParameter(6, Types.INTEGER);
    int elemSqlType = OracleTypes.INTEGER;
    int elemMaxLen = 0;
    procout.registerIndexTableOutParameter(7, maxRows, elemSqlType, elemMaxLen);
    elemSqlType = OracleTypes.VARCHAR;
    elemMaxLen = 30;
    // register the OUT parameter
    procout.registerIndexTableOutParameter(8, maxRows, elemSqlType, elemMaxLen);
    elemSqlType = OracleTypes.VARCHAR;
    elemMaxLen = 21;
    // register the OUT parameter
    procout.registerIndexTableOutParameter(9, maxRows, elemSqlType, elemMaxLen);
    elemSqlType = OracleTypes.INTEGER;
    elemMaxLen = 0;
    // register the OUT parameter
    procout.registerIndexTableOutParameter(10, maxRows, elemSqlType, elemMaxLen);
    // execute the call
    procout.execute();
    sqlWarning = procout.getWarnings();
    srv_message = procout.getString(1);
    returnStatus = new Integer(srv_message.substring(0,1)).intValue();
    dagMessage = new DagMessage();
    dagMessage.oracleMessage(srv_message);
    // access the value using JDBC default mapping
    empEstTitulo = procout.getString(4);
    empEstUniv = procout.getString(5);
    empEstNivel = procout.getInt(6);
    curCodigo = (BigDecimal[]) procout.getPlsqlIndexTable(7);
    curNombre = (String[]) procout.getPlsqlIndexTable(8);
    curFecha = (String[]) procout.getPlsqlIndexTable(9);
    curDuracion = (BigDecimal[]) procout.getPlsqlIndexTable(10);
    // close the statement
    procout.close();
    if (curCodigo == null) {
    return 0;
    } else {
    return curCodigo.length;
    } catch (SQLException e) {
    SQLException ex = e;
    System.err.println("\n--- SQLException caught ---\n");
    while (ex != null) {
    System.err.println("Message: " + ex.getMessage ());
    System.err.println("SQLState: " + ex.getSQLState ());
    System.err.println("ErrorCode: " + ex.getErrorCode ());
    ex = ex.getNextException();
    System.out.println("");
    throw e;
    Does Someone has an idea why it happens ?

    Hans,
    Could you give us the whole text of exception?
    Regards,
    Slava Imeshev
    "Hans" <[email protected]> wrote in message
    news:[email protected]...
    >
    It Works! Thanx a lot ....
    I was working with a previous version of my App ... I fixed the problemand now
    i can Cast to weblogic.jdbc.vendor.oracle.OracleCallableStatement,
    But ...
    I get the following Exception:
    SQL Exception:
    registerIndexTableOutParameter is not supported by the
    underlying JDBC driver weblogic.jdbc.pool.Connection
    What I need to do ?
    /* this is what i`m trying to make */
    weblogic.jdbc.vendor.oracle.OracleCallableStatement procout =(weblogic.jdbc.vendor.oracle.OracleCallableStatement)
    connection.prepareCall(sp);
    procout.registerOutParameter(1, Types.VARCHAR);
    procout.setString(1, srv_message);
    procout.setString(2, empRut);
    procout.setString(3, empTimeStamp);
    procout.registerOutParameter(4, Types.VARCHAR);
    procout.registerOutParameter(5, Types.VARCHAR);
    procout.registerOutParameter(6, Types.INTEGER);
    int elemSqlType = OracleTypes.INTEGER;
    int elemMaxLen = 0;
    procout.registerIndexTableOutParameter(7, maxRows, elemSqlType,elemMaxLen);
    >
    elemSqlType = OracleTypes.VARCHAR;
    elemMaxLen = 30;
    // register the OUT parameter
    procout.registerIndexTableOutParameter(8, maxRows, elemSqlType,elemMaxLen);
    >
    elemSqlType = OracleTypes.VARCHAR;
    elemMaxLen = 21;
    // register the OUT parameter
    procout.registerIndexTableOutParameter(9, maxRows, elemSqlType,elemMaxLen);
    >
    elemSqlType = OracleTypes.INTEGER;
    elemMaxLen = 0;
    // register the OUT parameter
    procout.registerIndexTableOutParameter(10, maxRows, elemSqlType,elemMaxLen);
    >
    >
    "Hans" <[email protected]> wrote:
    Thanx Slava,
    But I have the same problem again...
    I replace oracle.jdbc.driver.OracleCallableStatement with
    weblogic.jdbc.vendor.oracle.OracleCallableStatement
    and I get the same ClassClastException in
    weblogic.jdbc.vendor.oracle.OracleCallableStatement procout =
    (weblogic.jdbc.vendor.oracle.OracleCallableStatement)
    connection.prepareCall(sp);
    Any ideas ??
    "Slava Imeshev" <[email protected]> wrote:
    Hi Hans,
    You can not cast returned object to
    oracle.jdbc.driver.OracleCallableStatement
    when accessing oracle db via connection pool.
    It can be casted to weblogic.jdbc.vendor.oracle.OracleCallableStatement.
    Here is a list of methods supported by this interface:
    void clearParameters() throws java.sql.SQLException;
    void registerIndexTableOutParameter(int i, int j, int k, int l) throws
    java.sql.SQLException;
    void registerOutParameter(int i, int j, int k, int l) throws
    java.sql.SQLException;
    java.sql.ResultSet getCursor(int i) throws java.sql.SQLException;
    java.io.InputStream getAsciiStream(int i) throws
    java.sql.SQLException;
    java.io.InputStream getBinaryStream(int i) throwsjava.sql.SQLException;
    java.io.InputStream getUnicodeStream(int i) throwsjava.sql.SQLException;
    >>>
    Regards,
    Slava Imeshev
    "Hans" <[email protected]> wrote in message
    news:[email protected]...
    Hello,
    I get a ClassCastException when I try to execute a Stored Procedurewith
    WL6.1
    and the JDriver.
    I have a servlet who intanciate a Bean and call to his execute()
    method
    in
    this
    way:
    Context ctx = null;
    Hashtable ht = new Hashtable();
    Connection conn = null;
    ht.put(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFact
    or
    y");
    try {
    ctx = new InitialContext(ht);
    javax.sql.DataSource ds = (javax.sql.DataSource)ctx.lookup(connPool);
    conn = ds.getConnection();
    conn.setAutoCommit(true);
    SvcEmpEstObt empEstObt = new SvcEmpEstObt();
    empEstObt.setMaxRows(100);
    empEstObt.setConnection(conn);
    file://Get parameters from Http Get and set the JB
    empEstObt.setEmpRut(request.getParameter("rut"));
    empEstObt.setEmpTimeStamp(request.getParameter("timestamp"));
    file://Execute Service
    empEstObt.execute();
    /* ********* the execute() method of the jb is listed here */
    public int execute() throws ClassNotFoundException, SQLException{
    intreturnedRows = 0;
    try {if (connection == null){
    try {Class.forName(driver);
    } catch (ClassNotFoundException e) {
    System.err.println("ClassNotFoundException: " + e);
    throw e;
    connection = DriverManager.getConnection(url, user, password);
    row = -1;
    srv_message = String.valueOf(maxRows);
    String sp = "{call SvcEmpEstObt_Pkg.SvcEmpEstObt(?, ?, ?, ?, ?, ?,?, ?,
    oracle.jdbc.driver.OracleCallableStatement procout =(oracle.jdbc.driver.OracleCallableStatement)
    connection.prepareCall(sp); // The exception is here
    procout.registerOutParameter(1, Types.VARCHAR);
    procout.setString(1, srv_message);
    procout.setString(2, empRut);
    procout.setString(3, empTimeStamp);
    procout.registerOutParameter(4, Types.VARCHAR);
    procout.registerOutParameter(5, Types.VARCHAR);
    procout.registerOutParameter(6, Types.INTEGER);
    int elemSqlType = OracleTypes.INTEGER;
    int elemMaxLen = 0;
    procout.registerIndexTableOutParameter(7, maxRows, elemSqlType,elemMaxLen);
    elemSqlType = OracleTypes.VARCHAR;
    elemMaxLen = 30;
    // register the OUT parameter
    procout.registerIndexTableOutParameter(8, maxRows, elemSqlType,elemMaxLen);
    elemSqlType = OracleTypes.VARCHAR;
    elemMaxLen = 21;
    // register the OUT parameter
    procout.registerIndexTableOutParameter(9, maxRows, elemSqlType,elemMaxLen);
    elemSqlType = OracleTypes.INTEGER;
    elemMaxLen = 0;
    // register the OUT parameter
    procout.registerIndexTableOutParameter(10, maxRows, elemSqlType,elemMaxLen);
    // execute the call
    procout.execute();
    sqlWarning = procout.getWarnings();
    srv_message = procout.getString(1);
    returnStatus = new Integer(srv_message.substring(0,1)).intValue();
    dagMessage = new DagMessage();
    dagMessage.oracleMessage(srv_message);
    // access the value using JDBC default mapping
    empEstTitulo = procout.getString(4);
    empEstUniv = procout.getString(5);
    empEstNivel = procout.getInt(6);
    curCodigo = (BigDecimal[]) procout.getPlsqlIndexTable(7);
    curNombre = (String[]) procout.getPlsqlIndexTable(8);
    curFecha = (String[]) procout.getPlsqlIndexTable(9);
    curDuracion = (BigDecimal[]) procout.getPlsqlIndexTable(10);
    // close the statement
    procout.close();
    if (curCodigo == null) {
    return 0;
    } else {
    return curCodigo.length;
    } catch (SQLException e) {
    SQLException ex = e;
    System.err.println("\n--- SQLException caught ---\n");
    while (ex != null) {
    System.err.println("Message: " + ex.getMessage ());
    System.err.println("SQLState: " + ex.getSQLState ());
    System.err.println("ErrorCode: " + ex.getErrorCode ());
    ex = ex.getNextException();
    System.out.println("");
    throw e;
    Does Someone has an idea why it happens ?

  • JDBC driver - Class oracle.jdbc.driver.OracleDriver not found.

    Greetings:
    When I tried to compile an test script (as attached below) to test the driver, I always ended up with the following error message:
    ....java:17: Class oracle.jdbc.driver.OracleDriver not found.
    DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
    Could somebody shine some light on it? I would very much appreciate it.
    By the way, I have an Oracle DBMS (8.1.7) with jre1.1.7. My Java is jdk1.2 and the driver is ocijdbc8.dll
    Wil
    *************** The test script *************
    import java.sql.*;
    class Users
    public static void main (String args [])
    throws SQLException, ClassNotFoundException
    // Load the Oracle JDBC driver
    Class.forName ("oracle.jdbc.driver.OracleDriver");
    // Connect to the database
    // You can put a database name after the @ sign in the connection URL.
    Connection conn =
    DriverManager.getConnection ("jdbc:oracle:oci8:@US10", "QM24202E", "QM24202E");
    // Create a Statement
    Statement stmt = conn.createStatement ();
    // Select ... table
    ResultSet rset = stmt.executeQuery ("select USERID from USERS");
    // Iterate through the result and print the ... names
    while (rset.next ())
    System.out.println (rset.getString (1));

    check out what thomas Fly wrote on another discussion forum about connection with JDBC, i tried it and i haven't gotten it
    to work yet but at least i don't have the "... not found" error,
    you should try it too, and i think it's good to tell you that i
    still haven't installed the oracle client on my windows Me PC.
    Hope this help you
    This may help also... I have Oracle installed on a Linux PC at 192.168.1.4 on my LAN, listening on port 1521. I can connect from another PC (Linux / Windows ME dual boot, though running Windows at the time of this experiment) using the following program:
    import java.sql.*;
    public class sqlLookup {
    public static void main(String[] args) throws SQLException, ClassNotFoundException {
    String dbUrl = "jdbc:oracle:thin:@192.168.1.4:1521:ORA8";
    String user = "thomasfly";
    String password = "maverick";
    DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
    Connection c = DriverManager.getConnection(dbUrl, user, password);
    Statement s = c.createStatement();
    // SQL code:
    ResultSet r = s.executeQuery("select * from members");
    while(r.next()) {
    // Capitalization doesn't matter:
    System.out.println(r.getString("Name") + ", " + r.getString("id") + ": " + r.getString("email") );
    s.close(); // Also closes ResultSet
    I downloaded classes12.zip for Oracle 8.1.7 and put it into the C:\Windows directory, and mounted C:\Windows\classes12.zip in Forte for Java (equivalent to adding it to the classpath if I were running the program from a DOS window, rather than in Forte).
    ORA8... capitalization may be important... is the name of my database, which may be found in the tnsnames.ora file in $ORACLE_HOME/resources.
    The query gets the Name, id, and email fields from the table "members" in the database.
    This is just a barebones program, and each time it's run, the Oracle listener has to be stopped and restarted before the program can be successfully run again.

  • Load Oracle JDBC Driver by reflection.

    Hi!
    I'm trying to load driver by reflection like this,
    try {
      URL ora8libURL = new URL("file:///C:/oracle/product/10.2.0/clientDev/jdbc/lib/classes12.jar");
      Class.forName("oracle.jdbc.OracleDriver", true, URLClassLoader.newInstance(new URL[]{ora8libURL}));
        Enumeration<Driver> drivers = DriverManager.getDrivers();
        while(drivers.hasMoreElements())
          Driver drv = drivers.nextElement();
          System.out.println(drv.getClass().getName());
      conn = DriverManager.getConnection("jdbc:oracle:thin:@//192.168.186.13:1521/rdb817","user","password");
    catch(ClassNotFoundException ex) {ex.printStackTrace();}
    catch(MalformedURLException ex) {ex.printStackTrace();}
    catch (SQLException ex) {ex.printStackTrace();}but i've got this error:
    sun.jdbc.odbc.JdbcOdbcDriver
    java.sql.SQLException: No suitable driver found for jdbc:oracle:thin:@//192.168.186.13:1521/rdb817
         at java.sql.DriverManager.getConnection(Unknown Source)
         at java.sql.DriverManager.getConnection(Unknown Source)
    ...However, when i specify driver explicit in classpath it works fine.
    Help.

    I had the same problem you have, until i read your post :-).
    Now, with your help, i found a solution.
    The problem with your code is that the DriverManager that you are using doesn't "see" the driver you are loading. But you can create the driver instance directly:
    * Testes.java
    * Created on 31 de Julho de 2007, 15:04
    * To change this template, choose Tools | Template Manager
    * and open the template in the editor.
    import java.sql.*;
    import java.net.*;
    import java.util.*;
    * @author paulo
    public class Testes {
        /** Creates a new instance of Testes */
        public Testes() {
         * @param args the command line arguments
        public static void main(String[] args) {
            // TODO code application logic here
            String dbUrl10_1 = "jdbc:oracle:thin:@(DESCRIPTION="
                            + "(ADDRESS_LIST="
                            + "     (ADDRESS="
                            + "          (PROTOCOL=TCP)"
                            + "          (HOST=ffcluster01-vip)"
                            + "          (PORT=1521)"
                            + "     )"
                            + "     (ADDRESS="
                            + "          (PROTOCOL=TCP)"
                            + "          (HOST=ffcluster02-vip)"
                            + "          (PORT=1521)"
                            + "     )"
                            + "     (LOAD_BALANCE=yes)"
                            + ")"
                            + "(CONNECT_DATA="
                            + "     (SERVICE_NAME=bh.hdff.pt)"
                            + "     (FAILOVER_MODE ="
                            + "          (TYPE = SELECT)"
                            + "          (METHOD = BASIC)"
                            + "          (RETRIES = 180)"
                            + "          (DELAY = 5)"
                            + "     )"
                            + ")"
                            + ")";
            String dbUrl10_2 = "jdbc:oracle:thin:@ffcluster01:1521:BH1";
            String dbUrl7 = "jdbc:oracle:thin:@7.30.5.1:1521:HFF";
            try {
                 //Class.forName("oracle.jdbc.OracleDriver");
                URL ora7libURL = new URL("file:///C:\\PAULO\\aplicacoes\\ojdbc14.jar");
                URL ora10libURL = new URL("file:///C:\\PAULO\\aplicacoes\\ojdbc14_10g.jar");
                Driver drv10 = (Driver)(Class.forName("oracle.jdbc.OracleDriver", true, URLClassLoader.newInstance(new URL[]{ora10libURL}))).newInstance();
                System.out.println("Versao 10: "+drv10.getMajorVersion()+"."+drv10.getMinorVersion()+"\n");
                Driver drv7 = (Driver)(Class.forName("oracle.jdbc.OracleDriver", true, URLClassLoader.newInstance(new URL[]{ora7libURL}))).newInstance();
                System.out.println("Versao 7: "+drv7.getMajorVersion()+"."+drv7.getMinorVersion()+"\n");
                Enumeration drivers = DriverManager.getDrivers();
                while(drivers.hasMoreElements()) {
                    Driver drv = (Driver)drivers.nextElement();
                    System.out.println(drv.getClass().getName());
                    System.out.println("Versao: "+drv.getMajorVersion()+"."+drv.getMinorVersion()+"\n");
                System.out.flush();
                Properties prt = new Properties();
                prt.setProperty("user", "****");
                prt.setProperty("password", "*****");
                Connection conn = drv10.connect(dbUrl10_1,prt);
                conn.close();
                prt = new Properties();
                prt.setProperty("user", "****");
                prt.setProperty("password", "****");
                conn = drv7.connect(dbUrl7,prt);
                conn.close();
            } catch(ClassNotFoundException ex) {
                ex.printStackTrace();
            } catch(MalformedURLException ex) {
                ex.printStackTrace();
            } catch(SQLException ex) {
                ex.printStackTrace();
            } catch(Exception ex) {
                ex.printStackTrace();
    }Has you can see, the DriverManager doesn't know about the divers loaded with the new ClassLoader.
    The only thing you have to pay attention is not to have the classes for "oracle.jdbc.OracleDriver" in your system classpath.

  • Oracle JDBC driver 11.2.0.3 is reported as client version 11.2.0.2

    Greetings everyone,
    I wonder if other folks are experiencing the same:
    We have upgraded our JDBC driver to latest ojdbc6.jar (2,714,189 bytes) - 11.2.0.3
    Everything looks great, except that on the server side it is reported as client version 11.2.0.2
    JVM side:
    ===== Database info =====
    DatabaseProductName: Oracle
    DatabaseProductVersion: Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing options
    DatabaseMajorVersion: 11
    DatabaseMinorVersion: 2
    ===== Driver info =====
    DriverName: Oracle JDBC driver
    DriverVersion: 11.2.0.3.0
    DriverMajorVersion: 11
    DriverMinorVersion: 2
    Database side:
    select client_driver, client_version from v$session_connect_info
    (null), 11.2.0.2.0
    Is that expected behavior or the property is not updated between releases?
    Andrey
    Edited by: 907164 on Jan 10, 2012 12:09 PM

    Hi ,
    Thank you so much for your reply.
    That was the exact information that I needed.
    Could you also tell me from where can I get the information of future releases.
    Regards,
    Stacey.

  • Javax.servlet.ServletException: oracle.jdbc.driver.OracleDriver

    Hi.
    I've got this piece of code into a servlet:
    <%@page language="java" import="java.sql.*"%>
    <%
    Driver DriverRecordset1 = (Driver)Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
    Connection Conn = DriverManager.getConnection("jdbc:oracle:thin:@myserver:1521:SID","system","manager");
    When starting Tomcat, I included into startup.bat:
    set CLASSPATH=%CLASSPATH%;d:\orant\jdbc\classes102.zip (it exists)
    But when executing the code, I get this error message:
    javax.servlet.ServletException: oracle.jdbc.driver.OracleDriver
    What am I doing wrong?
    Thank you very much.

    The whole message:
    javax.servlet.ServletException: oracle.jdbc.driver.OracleDriver
         at org.apache.jasper.runtime.PageContextImpl.handlePageException(Unknown Source)
         at mypage_1._jspService(mypage_1.java:112)
         at org.apache.jasper.runtime.HttpJspBase.service(Unknown Source)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java)
         at org.apache.tomcat.facade.ServletHandler.doService(Unknown Source)
         at org.apache.tomcat.core.Handler.invoke(Unknown Source)
         at org.apache.tomcat.core.Handler.service(Unknown Source)
         at org.apache.tomcat.facade.ServletHandler.service(Unknown Source)
         at org.apache.tomcat.core.ContextManager.internalService(Unknown Source)
         at org.apache.tomcat.core.ContextManager.service(Unknown Source)
         at org.apache.tomcat.modules.server.Http10Interceptor.processConnection(Unknown Source)
         at org.apache.tomcat.util.net.TcpWorkerThread.runIt(Unknown Source)
         at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(Unknown Source)
         at java.lang.Thread.run(Thread.java:484)
    ================
    If I write only:
    Class.forName("oracle.jdbc.driver.OracleDriver");
    I get the same error.

Maybe you are looking for

  • Need information on an i series laptop

    I recently acquired an IBM Thinkpad laptop with no documentation or power adapter. I am trying to find out where I can download a user's manual and buy an adapter. However, the part numbers on various internet sites do not relate to this unit. It say

  • Muse got even worse.

    We can't work on our website for last 3 month. Muse gets worse and worse after each major update. I was trying to make simple change in text and republish. Unfortunately i can't save my changes, every step is terribly slow. I wonder if Adobe will be

  • Incorrect Value In master DATA

    Hi Everyone, I am getting incorrect data for attribute "Standard Price" of 0MAT_PLANT Master Data. This issue is there only for single record of 0MAT_PLANT value.In PSA data is correct as it is matching with R3. everyday there is  full load in 0MAT_P

  • FIrefox tabs take 10 seconds to display menu selections Fedora Core 15, firefox-7.0.1-1.fc15.i686

    Since moving to Firefox 7.0.1, It takes 10 seconds for firefox to respond when the cursor is placed and/or clicked on a tab. I have disabled all addons - no good. I have removed my .mozilla directory and allowed it to be regenerated - no good. I have

  • NIO Socket Reading - Intermittent Latency in High-Speed Data Reading

    Our application is reading data very fast over TCP/IP sockets in Java. We are using the NIO library with a non-blocking Sockets and a Selector to indicate readiness to read. On average, the overall processing times for reading and handling the read d