Unable to acheive database connectivity in my servlet prog.....

HELLO ALL......
IM USING ORACLE 9I(ORAHOME 90) FOR MY DATABASE CONNECTIVITY..PLUS IM USING TOMCAT 5.5.7 ..... IM TRYING TO ACHIEVE CONNECTIVITY USING JDBCODBC BRIDGE....THAT IS DRIVER OF THE FIRST TYPE.....IM NOT USING THIN DRIVER.....BUT SOMEHOW MY SERVLET IS NOT ACHIEVING THE DATABASE CONNECTIVITY....IT SHOWS NO DATA SOURCE NAME FOUND AND NO DEFAULT DRIVER SPECIFIED....... I DONT KNOW WHAT THE PROBLEM IS .... I TRIED TO FIND IT ON THE NET AND APPLIED SOME OF THE MEASURES BUT NOT FRUITFUL......... ONE SOLUTION SAID THAT I NEED TO PLACE OJDBC14.JAR FILE IN MY COMMON/LIB FOLDER ...BUT IM UNABLE TO FIND THAT JAR FILE.....WHAT TO DO.. PLEASE HELP...... IM TOTALLY FRUSTRATED DUE TO WHICH IM NOT ABLE TO DO ANY SERVLET PROGRAMMING THAT INVOLVES DATABASE CONNECTIVITY...
THANKS IN ADVANCE

First of all, don't type everything in uppercase. It is unreadable and impolite (to shout at someone).
Second, you should not be using the JDBC-ODBC driver for connecting to a Oracle database. There is a pure Java type -4 driver for Oracle available for download. Check the Oracle download page.
Third, your ojdbc14.jar should NOT be added to common/lib. You should place it in the WEB-INF/lib for the web application. It is not a good idea to mix custom jars with the server libraries.
Finally, you need to configure a datasource in Tomcat and use that to obtain a connection.
http://jakarta.apache.org/tomcat/tomcat-5.5-doc/jndi-datasource-examples-howto.html

Similar Messages

  • HELP IN DATABASE CONNECTIVITY IN A SERVLET`

    HI there,
    I have some issues in an application. I have a servlet which is called Servlet1.class. I have deployed this in my tomcat webapps folder. There is a stand alone application called MailAgent.class which pools into a mail box and retrieves the messages and converts them as HTTP messages. Then the MailAgent.class sends the HTTP message as multipart post (email message) to the servlet. In the servlet I am trying to establish a database connection with the JDBC driver from third party vendor. I am unable to get the driver class when I establish the connection with the database. Is there any issues with servlet and database access. I am able to connect if I run as a stand alone application.
    Any help would be greatly appreciated.
    Thanks
    John

    There shouldn't be any .class file in your webapps folder. I hope you mean that you created a subdirectory under webapps, with a WEB-INF under that and /classes and /lib under that. Your servlet .class file and its package directory structure belong under webapps/yourApp/WEB-INF/classes, right?
    You can create database connections in a servlet, although I agree with the previous poster that you'd be better off putting database code into objects that you could test off-line, without the servlet.
    You've got to have the JDBC driver JARs in the webapps/yourApp/WEB-INF/lib directory, for starters.
    If you get really adventurous you can create a pooled JNDI data source, but maybe that's another day's work. Get the basic connection working first.

  • Using database connection in a servlet and get errors after 8 hours

    Hey,
    I'm running a poker script using applet/servlets and it works great. But for some reason about about 8 hours that database layer stops working. At first I thought it was the connections to mySQL that were timing out (because im using connection pooling) but after turning pooling off (I now create the connection each time) I'm still seeing that same error (I can create a connection but when I do an action ex. like a select statment I get an error). What i'm wondering could it be that the driver I load with Class.forName() some how unloads it's self after x amount of time not being used? Not sure if that is it but if anyone could give me some insight that would be great. The Error i recieve is below:
    INFO: Database Event:DatabaseController: Error executing database query.
    ERROR: Communications link failure due to underlying exception:
    ** BEGIN NESTED EXCEPTION **
    java.net.SocketException
    MESSAGE: Software caused connection abort: recv failed
    STACKTRACE:
    java.net.SocketException: Software caused connection abort: recv failed
         at java.net.SocketInputStream.socketRead0(Native Method)
         at java.net.SocketInputStream.read(Unknown Source)
         at com.mysql.jdbc.util.ReadAheadInputStream.fill(ReadAheadInputStream.java:104)
         at com.mysql.jdbc.util.ReadAheadInputStream.readFromUnderlyingStreamIfNecessary(ReadAheadInputStream.java:144)
         at com.mysql.jdbc.util.ReadAheadInputStream.read(ReadAheadInputStream.java:172)
         at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:1839)
         at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2288)
         at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2784)
         at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1531)
         at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1622)
         at com.mysql.jdbc.Connection.execSQL(Connection.java:2370)
         at com.mysql.jdbc.Connection.execSQL(Connection.java:2297)
         at com.mysql.jdbc.Statement.executeQuery(Statement.java:1183)
         at com.softnet.database.DatabaseController.executeDatabaseQuery(DatabaseController.java:190)
         at com.softnet.games.GameServer.validateUser(GameServer.java:438)
         at com.softnet.games.GameServer.handleData(GameServer.java:113)
         at com.softnet.network.HttpConnectionThread.run(HttpServletListener.java:191)
    ** END NESTED EXCEPTION **
    I know the query is good because it works all other times just not after about 8 hours.
    --Z3r0CooL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

    Hey,
    Thanks for the responces. For the connection pooling I would open 5 connections and keep them open. So i though maybe after 8 hours after not being used they would timeout. Thats why i turned off conection pooling and create a new connection each time. Anyways i'll post the code below incase i made a mistake somewhere.
    package com.softnet.database;
    /************************ DatabaseControler **************************/
    import java.sql.*;
    import java.util.*;
    import com.softnet.database.DatabaseConnectionPool;
    import com.softnet.database.DatabaseSettings;
    public class DatabaseController
    implements DatabaseListener
         //Used to make sure the database driver is loaded
         private boolean databaseDriverState = false;
         //Used to store a database connection
         private Connection databaseConnection = null;
         //If to user connection pooling or not
         private boolean useConnectionPooling = false;
         //Used to hold the connection pool varible
         private DatabaseConnectionPool connectionPool = null;
         //Used to store database settings
         private DatabaseSettings databaseSettings;
         //Used to hold the DatabaseController listeners
         private List databaseControllerListeners = new ArrayList();
         //min number of connections for connection pool
         private int minNumberOfConnections = 1;
         //max number of connections for connection pool -1 is unlimited
         private int maxNumberOfConnections = -1;
         //DatabaseController Constructors
         public DatabaseController(DatabaseSettings databaseSettings)
              this.databaseSettings = databaseSettings;
              databaseDriverState = loadDatabaseDriver(databaseSettings.getDatabaseDriver());
         public DatabaseController(DatabaseSettings databaseSettings, boolean useConnectionPooling, int minNumberOfConnections, int maxNumberOfConnections)
              this.databaseSettings = databaseSettings;
              this.useConnectionPooling = useConnectionPooling;
              this.minNumberOfConnections = minNumberOfConnections;
              this.maxNumberOfConnections = maxNumberOfConnections;
              if(useConnectionPooling == true)
                   connectionPool = new DatabaseConnectionPool(databaseSettings, minNumberOfConnections, maxNumberOfConnections);
                   connectionPool.addDatabaseListener(this);
              else
                   databaseDriverState = loadDatabaseDriver(databaseSettings.getDatabaseDriver());
         public DatabaseController() {}
         //Database Settings Get/Set
         public DatabaseSettings getDatabaseSettings()
              return databaseSettings;
         public void setDatabaseSettings(DatabaseSettings databaseSettings)
              this.databaseSettings = databaseSettings;
         //Connection Pooling Get/Set
         public boolean getConnectionPooling()
              return useConnectionPooling;
         public void setConnectionPooling(boolean useConnectionPooling, int minNumberOfConnections, int maxNumberOfConnections)
              this.useConnectionPooling = useConnectionPooling;
              this.minNumberOfConnections = minNumberOfConnections;
              this.maxNumberOfConnections = maxNumberOfConnections;
              if(useConnectionPooling == true)
                   if(connectionPool == null)
                        connectionPool = new DatabaseConnectionPool(databaseSettings, minNumberOfConnections, maxNumberOfConnections);
                        connectionPool.addDatabaseListener(this);
              else
                   if(connectionPool != null)
                        connectionPool.destroyConnections();
                        connectionPool.removeDatabaseListener(this);
                        connectionPool = null;
         //Return if there connected
         public boolean isConnected()
              boolean isConnected;
              if(databaseConnection != null)
                   isConnected = true;
              else
                   isConnected = false;
              return isConnected;
         //Used to connect to database or get a connection for the connection pool
         public void connect()
              if(databaseDriverState == false)
                   databaseDriverState = loadDatabaseDriver(databaseSettings.getDatabaseDriver());
              //If we dont have a current connection, make one
              if(databaseConnection == null && databaseDriverState == true)
                   if(useConnectionPooling == false)
                        try
                             databaseConnection = DriverManager.getConnection(databaseSettings.getDatabaseURL(), databaseSettings.getUserName(), databaseSettings.getUserPassword());
                        catch (SQLException sqle)
                             //Raise event
                             raiseDatabaseEvent("DatabaseController: Error connecting to database. \nERROR: " + sqle.getMessage());
                             databaseConnection = null;
                   else
                        databaseConnection = connectionPool.getConnection();
         //Used to disconnect from the database or give back the connection to the connection pool
         public void disconnect()
              if(databaseConnection != null)
                   if(useConnectionPooling == false)
                        try
                             //Close DB Connection
                             databaseConnection.close();
                        catch(SQLException ignore) {}
                        finally
                             databaseConnection = null;
                   else
                        connectionPool.returnConnection(databaseConnection);
                        databaseConnection = null;
         public ResultSet executeDatabaseQuery(String sSQL)
              ResultSet databaseResult = null;
              if(databaseConnection != null)
                   try
                        Statement databaseStatement = databaseConnection.createStatement();
                        databaseResult = databaseStatement.executeQuery(sSQL);
                   catch(SQLException sqle)
                        //Raise event
                        raiseDatabaseEvent("DatabaseController: Error executing database query.\nSQL: " + sSQL + "\nERROR: " + sqle.getMessage());
              return databaseResult;
         public int executeDatabaseUpdate(String sSQL)
              int rowsAffected = -1;
              if(databaseConnection != null)
                   try
                        Statement databaseStatement = databaseConnection.createStatement();
                        rowsAffected = databaseStatement.executeUpdate(sSQL);
                   catch(SQLException sqle)
                        //Raise event
                        raiseDatabaseEvent("DatabaseController: Error executing database update.\nSQL: " + sSQL + "\nERROR: " + sqle.getMessage());
              return rowsAffected;
         //Used to load the Database Driver
         private boolean loadDatabaseDriver(String databaseDriver)
              boolean driverLoaded;
              if(databaseDriver.equals("") == false)
                   try
                        //Load Database Driver
                        Class.forName(databaseDriver).newInstance();
                        driverLoaded = true;
                   catch (Exception e)
                        //Raise event
                        raiseDatabaseEvent("DatabaseController: Error loading database driver. \nERROR: " + e.getMessage());
                        driverLoaded = false;
              else
                   driverLoaded = false;
              return driverLoaded;
         //Wrap the DatabaseConnectionPool Error to the DatabaseController
         public void databaseEventOccurred(DatabaseEvent de)
              raiseDatabaseEvent(de.getErrorMessage());
         //Event Handling Code
         //Used to add database listeners (Its sync'd so you can change the listeners when firing an event)
    public synchronized void addDatabaseListener(DatabaseListener databaseControllerListener)
    databaseControllerListeners.add(databaseControllerListener);
    //Used to remove a listener from the list (Its sync'd so you can change the listeners when firing an event)
    public synchronized void removeDatabaseListener(DatabaseListener databaseControllerListener)
    databaseControllerListeners.remove(databaseControllerListener);
    //Used to send the raise event to the listeners
    private synchronized void raiseDatabaseEvent(String databaseError)
    DatabaseEvent databaseEvent = new DatabaseEvent(this, databaseError);
    Iterator listeners = databaseControllerListeners.iterator();
    while(listeners.hasNext())
         DatabaseListener listener = (DatabaseListener) listeners.next();
    listener.databaseEventOccurred(databaseEvent);
    /********************* DatabaseConnectionPool **************/
    package com.softnet.database;
    import java.io.*;
    import java.sql.*;
    import java.util.*;
    import com.softnet.database.*;
    import com.softnet.database.DatabaseSettings;
    public class DatabaseConnectionPool
         //min number of connections
         private int minNumberOfConnections = 1;
         //max number of connections -1 is unlimited
         private int maxNumberOfConnections = -1;
         //Store the connections
         protected Hashtable databaseConnections = null;
         //Database Info
         protected DatabaseSettings databaseSettings;
         //to hold Driver state
         private boolean databaseDriverState = false;
         //To hold connection checker
         private DatabaseConnectionCheck connectionChecker = null;
         //Used to hold the DatabaseConnectionPool listeners
         private List databaseConnectionPoolListeners = new ArrayList();
         public DatabaseConnectionPool(DatabaseSettings databaseSettings, int minNumberOfConnections, int maxNumberOfConnections)
              this.databaseSettings = databaseSettings;
              this.minNumberOfConnections = minNumberOfConnections;
              this.maxNumberOfConnections = maxNumberOfConnections;
              //Load Driver
              databaseDriverState = loadDatabaseDriver(databaseSettings.getDatabaseDriver());
              //Create connection
              createConnections();
         public DatabaseConnectionPool(int minNumberOfConnections, int maxNumberOfConnections)
              this.minNumberOfConnections = minNumberOfConnections;
              this.maxNumberOfConnections = maxNumberOfConnections;
         //Database Settings Get/Set
         public DatabaseSettings getDatabaseSettings()
              return databaseSettings;
         public void setDatabaseSettings(DatabaseSettings databaseSettings)
              this.databaseSettings = databaseSettings;
         //Driver State Get
         public boolean getDatabaseDriverState()
              return databaseDriverState;
         public void createConnections()
              if(databaseDriverState == false)
                   databaseDriverState = loadDatabaseDriver(databaseSettings.getDatabaseDriver());
              //Create all connections and load the minimum in the Hashtable
              if(databaseConnections == null)
                   if(databaseDriverState == true && minNumberOfConnections != 0)
                        databaseConnections = new Hashtable();
                        for(int i = 0; i < minNumberOfConnections; i++)
                             try
                                  databaseConnections.put(DriverManager.getConnection(databaseSettings.getDatabaseURL(), databaseSettings.getUserName(), databaseSettings.getUserPassword()), Boolean.FALSE);
                             catch(SQLException sqle)
                                  //Problem break loop and destroy any connections
                                  destroyConnections();
                                  //Raise event
                                  raiseDatabaseEvent("DatabaseConnectionPool: Error creating database connections. \nERROR: " + sqle.getMessage());
                                  break;
              //If no connection check exists create one
              if(connectionChecker == null)
                   connectionChecker = new DatabaseConnectionCheck(this);
                   connectionChecker.start();
         public Connection getConnection()
              Connection connection = null;
              boolean errorWithConnection = false;
              Enumeration connections = databaseConnections.keys();
              synchronized (databaseConnections)
                   while(connections.hasMoreElements())
                        errorWithConnection = false;
                        connection = (Connection) connections.nextElement();
                        Boolean state = (Boolean) databaseConnections.get(connection);
                        //If connection is not used, use it.
                        if(state == Boolean.FALSE)
                             try
                                  connection.setAutoCommit(true);
                             catch(SQLException e)
                                  //Problem with connection remove connection and replace it
                                  databaseConnections.remove(connection);
                                  try
                                       connection = DriverManager.getConnection(databaseSettings.getDatabaseURL(), databaseSettings.getUserName(), databaseSettings.getUserPassword());
                                  catch(SQLException sqle)
                                       errorWithConnection = true;
                             if(errorWithConnection == false)
                                  // Update the Hashtable to show this one's taken
                                  databaseConnections.put(connection, Boolean.TRUE);
                                  // Return the connection
                                  return connection;
                   //All connections being used check to max to see if we can make a new one
                   if(maxNumberOfConnections == -1 || maxNumberOfConnections > databaseConnections.size())
                        try
                             connection = DriverManager.getConnection(databaseSettings.getDatabaseURL(), databaseSettings.getUserName(), databaseSettings.getUserPassword());
                        catch(SQLException sqle)
                             errorWithConnection = true;
                        if(errorWithConnection == false)
                             databaseConnections.put(connection, Boolean.TRUE);
                             return connection;
              //If not connections free and max connections reached wait for a free connection
              return getConnection();
         public void returnConnection(Connection connection)
              boolean errorWithConnection = false;
              //Make sure connection still works
              try
                   connection.setAutoCommit(true);
              catch(SQLException e)
                   //Problem with connection remove connection and replace it
                   databaseConnections.remove(connection);
                   try
                        connection = DriverManager.getConnection(databaseSettings.getDatabaseURL(), databaseSettings.getUserName(), databaseSettings.getUserPassword());
                   catch(SQLException sqle)
                        errorWithConnection = true;     
              if(errorWithConnection == false)
                   databaseConnections.put(connection, Boolean.FALSE);
         public void destroyConnections()
              Connection connection = null;
              if(databaseConnections != null)
                   //Close all connections
                   Enumeration connections = databaseConnections.keys();
                   while (connections.hasMoreElements())
                        connection = (Connection) connections.nextElement();
                        try
                             connection.close();
                        catch(SQLException ignore) {}
                   //Free up hashtable
                   databaseConnections = null;
         private boolean loadDatabaseDriver(String databaseDriver)
              boolean driverLoaded;
              if(databaseDriver.equals("") == false)
                   try
                        //Load Database Driver
                        Class.forName(databaseDriver);
                        driverLoaded = true;
                   catch (ClassNotFoundException cnfe)
                        //Raise event
                        raiseDatabaseEvent("DatabaseController: Error loading database driver. \nERROR: " + cnfe.getMessage());
                        driverLoaded = false;
              else
                   driverLoaded = false;
              return driverLoaded;
         //Event Handling Code
         //Used to add database listeners (Its sync'd so you can change the listeners when firing an event)
    public synchronized void addDatabaseListener(DatabaseListener databaseConnectionPoolListener)
    databaseConnectionPoolListeners.add(databaseConnectionPoolListener);
    //Used to remove a listener from the list (Its sync'd so you can change the listeners when firing an event)
    public synchronized void removeDatabaseListener(DatabaseListener databaseConnectionPoolListener)
    databaseConnectionPoolListeners.remove(databaseConnectionPoolListener);
    //Used to send the raise event to the listeners
    private synchronized void raiseDatabaseEvent(String databaseError)
    DatabaseEvent databaseEvent = new DatabaseEvent(this, databaseError);
    Iterator listeners = databaseConnectionPoolListeners.iterator();
    while(listeners.hasNext())
         DatabaseListener listener = (DatabaseListener) listeners.next();
    listener.databaseEventOccurred(databaseEvent);
    class DatabaseConnectionCheck extends Thread
         private DatabaseConnectionPool connectionPool;
         DatabaseConnectionCheck(DatabaseConnectionPool connectionPool)
              this.connectionPool = connectionPool;
         public void run()
              try
                   while(true)
                        //check threads every 30 seconds
                        this.sleep(300000);
                        if(connectionPool.databaseConnections != null)
                             Connection connection = null;
                             Enumeration connections = connectionPool.databaseConnections.keys();
                             synchronized (connectionPool.databaseConnections)
                                  while(connections.hasMoreElements())
                                       connection = (Connection) connections.nextElement();
                                       Boolean state = (Boolean) connectionPool.databaseConnections.get(connection);
                                       //If connection is not used, use it.
                                       if(state == Boolean.FALSE)
                                            try
                                                 connection.setAutoCommit(true);
                                            catch(SQLException e)
                                                 //Problem with connection remove connection and replace it
                                                 connectionPool.databaseConnections.remove(connection);
                                                 try
                                                      connection = DriverManager.getConnection(connectionPool.databaseSettings.getDatabaseURL(), connectionPool.databaseSettings.getUserName(), connectionPool.databaseSettings.getUserPassword());
                                                 catch(SQLException sqle)
                                                      connection = null;
                                                 // Update the Hashtable with new connection if its not null
                                                 if(connection != null)
                                                      connectionPool.databaseConnections.put(connection, Boolean.FALSE);
              catch(InterruptedException ignored) {}     
    Basicly the why it works is the connection pool hold the database connections. When the user needs a connection they use the database controller to request a connection (By create a instance and called the connect() method) and the connection is either created or grabed from the connection pool. After the user is done with the connection they call the disconnect() method which closes the connection or returns it to the connection pool.
    --Z3r0CooL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 

  • Unable to open database connection after applicaiton is running for several days.

    Has anyone experienced a similar error to this:
    After about 3 days of use our application starts to report errors opening
    the database connection. By that time we've had thousands of transactions
    happen. Oracle is only showing a few open connections to our iAS host so
    the error seems to indicate the connection pool. I'm configured for 64
    connections (the default). We are using the Oracle native driver on iAS
    SP3, Solaris.
    The iAS ksvradmin monitor gives errors when trying to see how many open
    connections it has (verified bug in SP3), so I can't get any info from iAS
    on the connection pool.
    Thanks in advance,
    Rodger Ball
    Sr. Engineer
    Business Wire

    iAS6 SP3 and earlier cannot detect dead connections. If connections become
    stale, iAS does not detect this and will hand out these stale connections.
    I don't know enough about your problem, but you can check for this.
    hope this helps,
    -James
    "Rodger Ball" <[email protected]> wrote in message
    news:9suucb$[email protected]..
    Has anyone experienced a similar error to this:
    After about 3 days of use our application starts to report errors opening
    the database connection. By that time we've had thousands of transactions
    happen. Oracle is only showing a few open connections to our iAS host so
    the error seems to indicate the connection pool. I'm configured for 64
    connections (the default). We are using the Oracle native driver on iAS
    SP3, Solaris.
    The iAS ksvradmin monitor gives errors when trying to see how many open
    connections it has (verified bug in SP3), so I can't get any info from iAS
    on the connection pool.
    Thanks in advance,
    Rodger Ball
    Sr. Engineer
    Business Wire

  • Unable to create Database Connection

    Hi all,
    We are running Hyperion 8.5 on an Oracle 10g Database. I have successfully configured an Oracle Service and tested it, the test was successful. Then I worked on using Database Connection Wizard in Hyperion to build an .oce file to connect to that service. But, my attempt fails with 'Oracle Error - 1:' message. Any ideas what is causing this problem.
    Thank you,
    Seyed

    Hi VC,
    Thank you so much for your help. I apologize; I should have updated this case. This problem is resolved. A few weeks ago, I used Oracle Uninstaller to clean up some of the Oracle installations. While doing the cleanup, I inadvertently, uninstalled Oracle 9i client. I figured that we are using Oracle 10g and I didn't need Oracle 9i anymore. It turns out that I was using 9i client for Hyperion 8.5 client. I re-installed Oracle 9i client and also added Oracle 9i home directory to the 'Path' in the 'Environmental Variables' under Windows 'Systems Variables'. This solved my problems and the old and new oce files began to work, and I was able to run my .bqy file.
    I really appreciate your assistance with this and wish you continued success,
    Seyed
    P.S. We were having difficulties finding Oracle 9i Client on Oracle Support. Finally, our DBA found a copy on Oracle Cloud and was able to download it from there.

  • Unable to create Database Connection in Workspace to Essbase for FR

    Hello,
    We have 9.3.1 installed, with Workspace and Shared Service on "Server A" and Essbase/Planning on "Server B" (Only Essbase is being turned on at this time)
    We are trying to setup a database connection from the Workspace to connect to Essbase for Financial Reporting to use. However, we got error message as follows:
    Error connecting to database connection SERVER B: D:\Hyperion\common\ADM\9.3.1\Essbase\9.3.1\bin\HssJNIDriver931.dll: Can't find dependent libraries
    When I opened the location where the file is located, here is the list of file that it contains:
    HssEssDriver (Folder)
    adm_icu_codepage_windows.txt
    ESSGAR.dll
    getCodepage.exe
    HssEssDriver931.dll
    HssJNIDriver931.dll
    icudt22l.dll
    icuin22.dll
    icuuc22.dll
    xerces-c_2_7.dll
    Thanks in advance,
    Andy

    I've seen this issue several times.
    Run FR independently and see if you are still able to connect.
    First make sure essbase is running. Try sample connection using maxl.
    Check if ports are open.
    For more consulting
    contact Marcelo @ HCG
    763 785 1028

  • Problems with Database connection from a servlet

    Hi everybody:
    I got the following message:
    java.lang.ClassNotFoundException: weblogic/jdbc/oci/Driver
    when I try to connect to a Database.
    public Connection getConnection()
    Connection con = null;
    Driver myDriver = null;
    try
    Properties props = new Properties();
    props.put("user", "fangc");
    props.put("password", "fangc");
    myDriver = (Driver) Class.forName("weblogic.jdbc.oci.Driver").newInstance();
    con = myDriver.connect("jdbc:weblogic:oracle:occd01", props);
    catch(Exception e)
    System.out.println("Connection failed! - " e);
    finally
    return con;
    What am I doing wrong? I try the code without problem for a simple Java Client

    Cristina Fang wrote:
    >
    Hi everybody:
    I got the following message:
    java.lang.ClassNotFoundException: weblogic/jdbc/oci/DriverYou won't get that unless your code has:
    myDriver = (Driver) Class.forName("weblogic/jdbc/oci/Driver").newInstance();
    Make sure your servlet code is just like the right way that you have it
    below:
    myDriver = (Driver) Class.forName("weblogic.jdbc.oci.Driver").newInstance();
    Joe
    >
    when I try to connect to a Database.
    public Connection getConnection()
    Connection con = null;
    Driver myDriver = null;
    try
    Properties props = new Properties();
    props.put("user", "fangc");
    props.put("password", "fangc");
    myDriver = (Driver) Class.forName("weblogic.jdbc.oci.Driver").newInstance();
    con = myDriver.connect("jdbc:weblogic:oracle:occd01", props);
    catch(Exception e)
    System.out.println("Connection failed! - " e);
    finally
    return con;
    What am I doing wrong? I try the code without problem for a simple Java Client

  • Unable to get database connection  from loaded java class in oracle

    Hi all,
    I am trying to call java class method from oracle function, but getting below exception, while creating connection.
    SQL> select charge_calculation(1,'2011-06-01', 'E') from dual;
    select charge_calculation(1,'2011-06-01', 'E') from dual
    ERROR at line 1:
    ORA-29532: Java call terminated by uncaught Java exception:
    java.lang.ExceptionInInitializerError
    inside main method
    inside main method1
    inside main method2
    inside main method3
    inside main method3
    Exception in thread "Root Thread" java.lang.ExceptionInInitializerError
    at javax.crypto.Cipher.getInstance(DashoA12275)
    at oracle.security.o5logon.O5LoginClientHelper.decryptAES(Unknown Source
    at oracle.security.o5logon.O5LoginClientHelper.generateOAuthResponse(Unk
    nown
    Source)
    at
    oracle.jdbc.driver.T4CTTIoauthenticate.marshalOauth(T4CTTIoauthenticate.java)
    at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:367)
    at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:
    501)
    at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:203)
    at
    oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:33)
    at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java)
    at java.sql.DriverManager.getConnection(DriverManager.java)
    at java.sql.DriverManager.getConnection(DriverManager.java:187)
    at SPEodPricing.spEodPricing(SPEODPRICING:98)
    at SPEodPricing.main1(SPEODPRICING:47)
    Caused by: java.lang.SecurityException: Cannot set up certs for trusted CAs
    at javax.crypto.SunJCE_b.<clinit>(DashoA12275)
    ... 13 more
    Caused by: java.security.PrivilegedActionException: java.io.IOException
    at java.security.AccessController.doPrivileged(Native Method)
    ... 14 more
    Caused by: java.io.IOException
    at java.io.FileOutputStream.writeBytes(Native Method)
    at java.io.FileOutputStream.write(FileOutputStream.java)
    at sun.net.www.protocol.jar.URLJarFile$1.run(URLJarFile.java:177)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.net.www.protocol.jar.URLJarFile.retrieve(URLJarFile.java:165)
    at sun.net.www.protocol.jar.URLJarFile.getJarFile(URLJarFile.java:43)
    at sun.net.www.protocol.jar.JarFileFactory.get(JarFileFactory.java:70)
    at sun.net.www.protocol.jar.JarURLConnection.connect(JarURLConnection.ja
    va:102)
    at
    sun.net.www.protocol.jar.JarURLConnection.getInputStream(JarURLConnection.java:1
    24)
    at javax.crypto.SunJCE_d.a(DashoA12275)
    at javax.crypto.SunJCE_b.g(DashoA12275)
    at javax.crypto.SunJCE_b.e(DashoA12275)
    at javax.crypto.SunJCE_q.run(DashoA12275)
    ... 15 more
    SQL> select charge_calculation(1,'2011-06-01', 'E') from dual;
    select charge_calculation(1,'2011-06-01', 'E') from dual
    ERROR at line 1:
    ORA-29549: class BBVA_MERGED.SPEodPricing has changed, Java session state
    cleared
    SQL> exit
    Disconnected from Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - 64
    bit Production
    With the Partitioning, Real Application Clusters, OLAP, Data Mining
    and Real Application Testing options
    JAVA Sample code:-
    public String method1(int pi_ctry_id,String pi_cur_busi_date ,String pi_eod_bod_flag)
    System.out.println("inside main method1");
    CachedRowSet tmplcrs                = null;
    HashMap resMap                              = new HashMap();
              Double ln_candidate_extra           = 0.0;
              Double ln_calculate_on_val          = 0.0;
              int lv_calculate_on                = 0;
              int lv_cand_attribute                = 0;
    // int pi_ctry_id                          = 0;
    // String pi_cur_busi_date           = null;
    int pi_bch_id                          = 0;
    // String pi_eod_bod_flag               = null;
    Date ldt_cur_busi_date          = null;
    Date lstr_next_calc_date     = null;
    int li_bch_id                         = 0;
    int li_chg_ac_branch               = 0;
    int calFrequency                     = 0;
    DbUtils dbObj = new DbUtils();
    Map reqMap = new HashMap();
    CachedRowSet updtcrs                = null;
    Connection conn = null;
              try
    System.out.println("inside main method2");
                   reqMap.put("pi_ctry_id", ""+pi_ctry_id);
                   reqMap.put("pi_cur_busi_date", ""+pi_cur_busi_date);
                   reqMap.put("pi_eod_bod_flag", ""+pi_eod_bod_flag);
    System.out.println("inside main method3");
                   Class.forName("oracle.jdbc.driver.OracleDriver");
    // Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@10.1.56.85:1521:orcl", "bbva_merged", "bbva_merged");
    // conn = DriverManager.getConnection("jdbc:oracle:thin:@10.1.50.104:1521:cmsdb6", "bbva_base", "bbva_base");
    System.out.println("inside main method3");
    conn = DriverManager.getConnection("jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.50.129)(PORT = 1521))(ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.50.130)(PORT = 1521))(LOAD_BALANCE = yes)(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = BBVASIT)))", "BBVA_MERGED", "BBVA_MERGED");
    conn.setAutoCommit(false);
    System.out.println("inside main method4");
    }

    29532, 00000, "Java call terminated by uncaught Java exception: %s"
    // *Cause: A Java exception or error was signaled and could not be
    //          resolved by the Java code.
    // *Action: Modify Java code, if this behavior is not intended.

  • Unable to create database connection using jboss

    hi masters,
    i have developed an application using jdeveloper ADF, and created .EAR file and deployed it in jboss. it shows that application is deployed, but when using application using URL http://localhost:8080/appl/index.jspx it opens login window, but when we enter username and password it does not authenticate user.
    i am not developer, but a DBA and ask to deploy application using jboss. how can i resolve this issue??? while starting , jboss generates error "creating connection to database failed- unauthenticated login attempted"
    what might be the issue?????
    posting my exact error here, hope someone will post some suggestion.
    MBEANS THAT ARE THE ROOT CAUSE OF THE PROBLEM:
    ObjectName: jboss.mq:service=PersistenceManager
    state: FAILED
    I Depend On: jboss.jca:service=DataSourceBinding,name=DefaultDS
    Depends On Me: jboss.mq:service=DestinationManager
    java.lang.SecurityException: Invalid authentication attempt, principal=null
    ObjectName: jboss:service=KeyGeneratorFactory,type=HiLo
    state: FAILED
    I Depend On: jboss:service=TransactionManager
    jboss.jca:service=DataSourceBinding,name=DefaultDS
    Depends On Me: java.lang.SecurityException: Invalid authentication attempt, principal=null
    ObjectName: jboss.mq:service=StateManager
    state: FAILED
    I Depend On: jboss.jca:service=DataSourceBinding,name=DefaultDS
    Depends On Me: jboss.mq:service=DestinationManager
    org.jboss.mq.SpyJMSException: Error creating connection to the database.; - nested throwable: (java.
    lang.SecurityException: Invalid authentication attempt, principal=null)
    ObjectName: jboss.ejb:service=EJBTimerService,persistencePolicy=database
    state: FAILED
    I Depend On: jboss.jca:service=DataSourceBinding,name=DefaultDS
    Depends On Me: java.lang.SecurityException: Invalid authentication attempt, principal=null
    any suggestion will be appreciated..
    thanks and regards
    VD
    Edited by: vikrant dixit on १९ फ़रवरी, २००९ ९:१६ अपराह्न

    hello all,
    do anyone have any suggestion????
    thanks and regards
    VD

  • Unable to get Database Connectivity vi to List Tables of a Filemaker Pro database

    Hello Forum,
    I've been successful using my ODBC Admin to create a System DSN for a simple Filemaker Pro db on my PC running Windows XP (I wish I could delete my previous post asking for help doing that!).  Now, my LV program successfully "connects" to the db using the "DB Tools Open Connection vi".  However, I cannot get the "DB Tools List Tables" vi to give me a list of the database's tables.  LV just returns an empty string array.  However, I can accomplish other tasks such as listing the columns of a table using the "DB Tools List Columns" vi.
     Any thoughts on why I cannot list the db's tables??

    Hi NI,
    I am still getting a empty string array result when I use "DB Tools List Tables" vi.  I am running Filemaker Pro 10.0v1 and LabVIEW 8.2.  I can get other DB VIs to work just fine, namely: "DB Tools List Columns", "DB Tools Insert Data", "DB Tools Execute Query" and "DB Tools Fetch Recordset Data".  I can obviously work around not having the "List Tables" code, but it makes me wonder where I'm going wrong.
    Andy 

  • Unable to get database connection using JNDI

    Hi,
    I am using Sun System Application Server 8.1 and using the following code in my web application:
    Context obj_initCtx = new InitialContext();
    Context obj_envCtx = (Context) obj_initCtx.lookup("java:comp/env"); //on this line exception is occured
    m_objDataSource = (DataSource) obj_envCtx.lookup("jndi/mydb");
    I have properly configured the deployment descriptors but getting following error on run time:
    javax.naming.NamingException invocation exception      
    at com.sun.enterprise.naming.NamingManagerImpl.getComponentId(NamingManagerImpl.java:999)     
    at com.sun.enterprise.naming.NamingManagerImpl.lookup(NamingManagerImpl.java:661)     
    at com.sun.enterprise.naming.java.javaURLContext.lookup(javaURLContext.java:132)     
    at com.sun.enterprise.naming.SerialContext.lookup(SerialContext.java:288)
    at javax.naming.InitialContext.lookup(InitialContext.java:347)     
    at com.ascertia.adss.module.base.ASC_DBManager.getConnection(ASC_DBManager.java:57)
    Any help will be highly appreciated:
    Regards,
    Yasir Khan

    I've had a similar error. In a filter I was able to call lookup("java:comp/env") but got that exception when calling env.lookup("jdbc/mydatasource") in the init() method. Some nice people here answered that I should configure a jndi name for my datasource with a __pm termination, and did it without success.
    My workaround was to call lookup outside init, in the doFilter method.
    Best regards.
    Antonio Varela.

  • Share database connection between servlets

    hello,
    i need help to know if the following code works well.
    The intention is to share a unique JDBC database connection with all servlets of my application.
    //************************ file Conexao.java ***********************
    // this class makes a databse connection
    import java.sql.*;
    public class Conexao
    Connection conex;
    public void conecta()
    try
    Class.forName("interbase.interclient.Driver");
    conex = DriverManager.getConnection("jdbc:interbase://localhost/c:\\temp\\Kuala.gdb","SYSDBA","masterkey");
    catch(ClassNotFoundException ex) { }
    catch(SQLException ex) { }
    public void desconecta()
    try
    { conex.close(); }
    catch(SQLException ex) { }
    //****************** file SetConnectionContext ****************
    // this class creates an instance of Conexao class and invokes the
    // conecta() method. After, obtain the ServletContext object and
    // set the attribute "conecta" to the ServletContext
    import java.io.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    import java.sql.*;
    public class SetConnectionContext extends HttpServlet
    Conexao connection = null;
    public void init()
    connection = new Conexao();
    connection.conecta();
    ServletContext context = getServletContext();
    context.setAttribute("conecta", connection);
    public void destroy()
    { connection.desconecta(); }
    public void doGet (HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException
    response.setContentType("text/html");
    PrintWriter saida = response.getWriter();
    saida.println("<H1>objeto connection atribuido no contexto</H1>");
    //****************** file GetConnectionContext.java ******************
    import java.io.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    import java.sql.*;
    public class GetConnectionContext extends HttpServlet
    public void doGet (HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException
    response.setContentType("text/html");
    PrintWriter saida = response.getWriter();
    ServletContext context = getServletContext();
    Conexao con = (Conexao) context.getAttribute("conecta");
    try {
    Statement comando = con.conex.createStatement();
    ResultSet rs = comando.executeQuery("SELECT * FROM kl_campanha");
    while( rs.next() )
    int codCampanha = rs.getInt("codCampanha");
    saida.println("<h3>"+codCampanha+"</h3>");
    catch(Exception e) { }

    I understand the use of a static variable.
    But if i want to share a database connection object (a
    instance varible instead of class variable) that is
    instantiate once and saved in a ServletContext
    attribute,
    and afterwards the other servlets can get
    the object through the ServletContext attribute and
    use it. This will works well? i did tests with the
    code and everything apparently works.
    How does a new connection (different user) get the old context?

  • Database connection error - Blackberry 9300 simulator

    Hi, I'm unable to open database connection in Blackberry 9300 simulator which runs on 5.0.0.977 Device Software. Could someone please let us if I can open the database connection on this device. Also I'm unable to run widget in Blackberry simulator 8900 (device software 4.6.1) As I'm new to widget development, please provide me the details on my questions. Error - net.rim.device.apps.internal.browser.gears.Database. Thanks Raghu .

    You know what, upon thinking about this again, i have the exact same problem sometimes!
    This i believe is what is causing your problems. When you go out of range of the wifi, for some reason apps like whatsapp seem to switch over to the service providers data scheme and if you have no credit or I would assume as in your case it does not work, the whatsapp does not switch back over to the wifi when it comes into range again.
    I have had issues like this before with my 9300 and to solve it try to do this. Turn off all network radios on the phone. mobile and wifi. then turn on wifi only then do a battery pull on the device. When it turns on again, wifi will be on and things should work... Well atleast that is what happens for me. You can then turn on the mobile network again.
    You could also try just closing the problematic application, disabling all of the network radios then turning on wifi only and try out the application. I know the last option I provided works 100% of the time for me though and I really think if you stay close to the wifi router for more than an hour or two you are not going to have any problems at all.

  • Unable to load database connector - using JRC w/report connecting to Oracle

    A simple Java program was created to test a Crystal Report using JRC. The Java program is a thick-client Swing desktop application (modified from an example of crxi_r2_migrating_rdc_to_jrc.pdf). The program failed to execute the report with the following error:
    Unable to load database connector u2018com.crystaldecisions.reports.queryengine.driverImpl.DriverLoader'
    It might be something simple to correct the problem, but I am not able to find related answers in the documentation and from the forum.
    CR version is XI R2. The Java program was compiled and run using jdk1.4.2_13. Oracle is 10.2.
    Do I have to use JDBC? or the CR Oracle driver will do? What needs to be setup? If I use JDBC, what do I need to setup (I tried to following the links in the forums or other documentation, but most of the links to http://support.businessobjects.com/.... are broken - i.e. re-route to the SAP support page but not directly linked to the articles)
    When the report JRCTestReport.rpt was saved with the option "Save Data With Report", it works fine. So the problem is only with Oracle database driver, the other jars are fine.
    In the report JRCTestReport.rpt the database properties are:
           DatabaseDLL             crdb_oralce.dll
           Password
           Server                        myTestDB
           Trusted_Connection    False
           User ID                      MyUser
    The crdb_oracle.dll is located at:
    C:\Program Files\Business Objects\Common\3.5\bin
    Files are stored in the following tree structure:
    <Testing Folder>
         JRCTest.java
         JRCTest.class
         WEB-INF
                   lib
                        All required JRC jars and CRConfig.xml
         Reports
                   JRCTestReport.rpt
    Java source code JRCTest.java
    import java.awt.*;
    import javax.swing.*;
    import java.io.*;
    import com.crystaldecisions.ReportViewer.*;
    // Use this for talking to JRC in-process
    import com.crystaldecisions.reports.sdk.*;
    import com.crystaldecisions.sdk.occa.report.reportsource.*;
    public class JRCTest
         private static void createAndShowGUI()
              try
                   //Make sure we have nice window decorations.
                   JFrame.setDefaultLookAndFeelDecorated(false);
                   //Create and set up the window.
                   JFrame frame = new JFrame("JRCTest");
                   frame.setTitle("JRCTest");
                   frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                   ReportViewerBean viewer = new ReportViewerBean();
                                      System.out.println("ReportViewerBean.init");
                   viewer.init(new String[0], null, null, null);
                                      System.out.println("new ReportClientDocument");
                   ReportClientDocument rpt = new ReportClientDocument();
                                      try
                                              System.out.println("Openning Report...");
                                              rpt.open("JRCTestReport.rpt", 0);
                                      catch (Exception ex)
                                              System.out.println("Failed to open report");
                                              System.out.println(ex.toString());
                                              return;
                                      try
                                              System.out.println("logon...");
                                              rpt.getDatabaseController().logon("myUser", "myPass");
                                      catch (Exception ex)
                                              System.out.println("Failed to logon");
                                              System.out.println(ex.toString());
                                              return;
                                      System.out.println("ReportClientDocument.getReportSource");
                   IReportSource rptSource = rpt.getReportSource();
                   viewer.setReportSource(rptSource);
                                                    System.out.println("viewer.setReportSource");
                   frame.getContentPane().add
                        (viewer, BorderLayout.CENTER);
                   frame.setSize(700, 500);
                   frame.setVisible(true);
                   viewer.start();
              catch (Exception exception)
                   System.out.println(exception.toString());
         public static void main(String[] args)
              javax.swing.SwingUtilities.invokeLater(new Runnable()
                   public void run()
                        createAndShowGUI();
    Execution result:
    C:\tmp\CrystalJavaTest>java -classpath .;./WEB-INF/lib;./WEB-INF/lib/ReportViewe
    r.jar;./WEB-INF/lib/jrcerom.jar;./WEB-INF/lib/jrcadapter.jar;./WEB-INF/lib/Concu
    rrent.jar;./WEB-INF/lib/CrystalCharting.jar;./WEB-INF/lib/CrystalCommon.jar;./WE
    B-INF/lib/CrystalContentModels.jar;./WEB-INF/lib/CrystalExporters.jar;./WEB-INF/
    lib/CrystalExportingBase.jar;./WEB-INF/lib/CrystalFormulas.jar;./WEB-INF/lib/Cry
    stalQueryEngine.jar;./WEB-INF/lib/CrystalReportEngine.jar;./WEB-INF/lib/CrystalR
    eportingCommon.jar;./WEB-INF/lib/icu4j.jar;./WEB-INF/lib/keycodeDecoder.jar;./WE
    B-INF/lib/log4j.jar;./WEB-INF/lib/MetafileRenderer.jar;./WEB-INF/lib/rasapp.jar;
    ./WEB-INF/lib/rascore.jar;./WEB-INF/lib/rpoifs.jar;./WEB-INF/lib/Serialization.j
    ar;./WEB-INF/lib/URIUtil.jar;./WEB-INF/lib/xercesImpl.jar;./WEB-INF/lib/xml-apis
    .jar JRCTest
    Starting
    Crystal Report Viewer 2.1.21.2
    java.vendor = Sun Microsystems Inc.
    java.version = 1.4.2_13
    os.name = Windows XP
    os.version = 5.1
    os.arch = x86
    ReportViewerBean.init
    new ReportClientDocument
    Openning Report...
    logon...
    ReportClientDocument.getReportSource
    viewer.setReportSource
    ERROR - JRCAgent1 detected an exception: Unable to load database connector 'com.
    crystaldecisions.reports.queryengine.driverImpl.DriverLoader'.
            at com.crystaldecisions.sdk.occa.report.lib.ReportSDKException.throwRepo
    rtSDKException(Unknown Source)
            at com.businessobjects.reports.sdk.b.i.if(Unknown Source)
            at com.businessobjects.reports.sdk.b.i.a(Unknown Source)
            at com.businessobjects.reports.sdk.b.i.byte(Unknown Source)
            at com.businessobjects.reports.sdk.JRCCommunicationAdapter.request(Unkno
    wn Source)
            at com.crystaldecisions.proxy.remoteagent.y.a(Unknown Source)
            at com.crystaldecisions.proxy.remoteagent.r.a(Unknown Source)
            at com.crystaldecisions.sdk.occa.report.application.cf.a(Unknown Source)
            at com.crystaldecisions.sdk.occa.report.application.ReportSource.a(Unkno
    wn Source)
            at com.crystaldecisions.sdk.occa.report.application.ReportSource.getPage
    (Unknown Source)
            at com.crystaldecisions.sdk.occa.report.application.AdvancedReportSource
    .getPage(Unknown Source)
            at com.crystaldecisions.sdk.occa.report.application.NonDCPAdvancedReport
    Source.getPage(Unknown Source)
            at com.businessobjects.crystalreports.viewer.core.rs.b.if(Unknown Source
            at com.businessobjects.crystalreports.viewer.core.av.a(Unknown Source)
            at com.businessobjects.crystalreports.viewer.core.av.run(Unknown Source)
            at java.lang.Thread.run(Thread.java:534)
    Unable to load database connector 'com.crystaldecisions.reports.queryengine.driv
    erImpl.DriverLoader'.

    After I switched the report to use JDBC, I am still getting the same error.
    Machine has multiple jdk, oracle 10g, Oracle11g client installed though. So I need to set my path to use the jdk from Crystal Report and Oracle 10g.
    The program was compiled and ran with the following path and CLASSPATH:
    set path="C:\Program Files\Business Objects\j2sdk1.4.2_08\bin";"C:\Program Files\Business Objects\j2sdk1.4.2_08\jre\bin";"C:\Program Files\Business Objects\j2sdk1.4.2_08\jre\bin\client";c:\oracle\ora102\bin
    set CLASSPATH=.;./WEB-INF/lib;./WEB-INF/lib/ReportViewer.jar;./WEB-INF/lib/jrcerom.jar;./WEB-INF/lib/jrcadapter.jar;./WEB-INF/lib/Concurrent.jar;./WEB-INF/lib/CrystalCharting.jar;./WEB-INF/lib/CrystalCommon.jar;./WEB-INF/lib/CrystalContentModels.jar;./WEB-INF/lib/CrystalExporters.jar;./WEB-INF/lib/CrystalExportingBase.jar;./WEB-INF/lib/CrystalFormulas.jar;./WEB-INF/lib/CrystalQueryEngine.jar;./WEB-INF/lib/CrystalReportEngine.jar;./WEB-INF/lib/CrystalReportingCommon.jar;./WEB-INF/lib/icu4j.jar;./WEB-INF/lib/keycodeDecoder.jar;./WEB-INF/lib/log4j.jar;./WEB-INF/lib/MetafileRenderer.jar;./WEB-INF/lib/rasapp.jar;./WEB-INF/lib/rascore.jar;./WEB-INF/lib/rpoifs.jar;./WEB-INF/lib/Serialization.jar;./WEB-INF/lib/URIUtil.jar;./WEB-INF/lib/xercesImpl.jar;./WEB-INF/lib/xml-apis.jar;C:/oracle/ora102/jdbc/lib/ojdbc14.jar
    I modified my java testing program to display more info:
    Modified program:
    import java.awt.*;
    import javax.swing.*;
    import java.io.*;
    import com.crystaldecisions.ReportViewer.*;
    // Use this for talking to JRC in-process
    import com.crystaldecisions.reports.sdk.*;
    import com.crystaldecisions.sdk.occa.report.reportsource.*;
    import com.crystaldecisions.sdk.occa.report.exportoptions.*;
    import com.crystaldecisions.sdk.occa.report.data.*;
    import com.crystaldecisions.sdk.occa.report.lib.PropertyBag;
    import com.crystaldecisions.sdk.occa.report.lib.IStrings;
    public class JRCTest2
       private static void createAndShowGUI()
          try
             System.out.println("Starting");
             //Make sure we have nice window decorations.
             JFrame.setDefaultLookAndFeelDecorated(false);
             //Create and set up the window.
             JFrame frame = new JFrame("JRCTest2");
             frame.setTitle("Testing 1, 2, 3");
             frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
             System.out.println("new ReportViewerBean");
             ReportViewerBean viewer = new ReportViewerBean();
             System.out.println("ReportViewerBean.init");
             viewer.init(new String[0], null, null, null);
             System.out.println("new ReportClientDocument");
             ReportClientDocument rpt = new ReportClientDocument();
             try
                 System.out.println("Openning Report...");
                 rpt.open("JRCTestReport.rpt", 0);
             catch (Exception ex)
                System.out.println("Failed to open report");
                System.out.println(ex.toString());
                return;
             try
                // try logon here to see if any exceptions
                rpt.getDatabaseController().logon("myUser", "myPass");
             catch (Exception ex)
                System.out.println("Failed to logon");
                System.out.println(ex.toString());
                return;
             IDatabase idb = rpt.getDatabaseController().getDatabase();
             Tables dtb = idb.getTables();
             IConnectionInfo conInfo = dtb.getTable(0).getConnectionInfo();
             PropertyBag attrs = conInfo.getAttributes();
             conInfo.setPassword("myPass");
             conInfo.setUserName("myUser");
             IStrings s = attrs.getPropertyIDs();
             for (int i=0; i < s.size(); i++)
                System.out.println(s.getString(i));
                System.out.println(attrs.getStringValue(s.getString(i)));
             System.out.println(" ");
             conInfo.setAttributes(attrs);
             attrs = conInfo.getAttributes();
             s = attrs.getPropertyIDs();
             // Print property again after setting attributes
             for (int i=0; i < s.size(); i++)
               System.out.println(s.getString(i));
               System.out.println(attrs.getStringValue(s.getString(i)));
             System.out.println(" ");
             System.out.println("ReportClientDocument.getReportSource");
             IReportSource rptSource = rpt.getReportSource();
             viewer.setReportSource(rptSource);
             frame.getContentPane().add
         (viewer, BorderLayout.CENTER);
             frame.setSize(700, 500);
             frame.setVisible(true);
             viewer.start();
          catch (Exception exception)
             System.out.println(exception.toString());
       public static void main(String[] args)
          System.out.println("main");
          javax.swing.SwingUtilities.invokeLater(new Runnable()
             public void run()
                createAndShowGUI();
    Running result:
    C:\tmp\CrystalJavaTest>java JRCTest2
    main
    Starting
    new ReportViewerBean
    Crystal Report Viewer 2.1.21.2
    java.vendor = Sun Microsystems Inc.
    java.version = 1.4.2_13
    os.name = Windows XP
    os.version = 5.1
    os.arch = x86
    ReportViewerBean.init
    new ReportClientDocument
    Openning Report...
    Trusted_Connection
    false
    Server Name
    dbHost
    Connection String
    Use JDBC=b(true);Connection URL=s(jdbc:oracle:thin:@dbHost:1521:myDB);Database Class Name=s(oracle.jdbc.OracleDriver);Server=s(dbHost);User ID=s(myUser);Password=;Trusted_Connection=b(false);JDBC Connection String=s(!oracle.jdbc.OracleDriver!jdbc:oracle:thin:/@dbHost:1521:myDB)
    Server Type
    JDBC (JNDI)
    Database Class Name
    oracle.jdbc.OracleDriver
    Use JDBC
    true
    URI
    !oracle.jdbc.OracleDriver!jdbc:oracle:thin:/@dbHost:1521:myDB
    Database DLL
    crdb_jdbc.dll
    Trusted_Connection
    false
    Server Name
    dbHost
    Connection String
    Use JDBC=b(true);Connection URL=s(jdbc:oracle:thin:@dbHost:1521:myDB);Database Class Name=s(oracle.jdbc.OracleDriver);Server=s(dbHost);User ID=s(myUser);Password=;Trusted_Connection=b(false);JDBC Connection String=s(!oracle.jdbc.OracleDriver!jdbc:oracle:thin:/@dbHost:1521:myDB)
    Server Type
    JDBC (JNDI)
    Database Class Name
    oracle.jdbc.OracleDriver
    Use JDBC
    true
    URI
    !oracle.jdbc.OracleDriver!jdbc:oracle:thin:/@dbHost:1521:myDB
    Database DLL
    crdb_jdbc.dll
    ReportClientDocument.getReportSource
    ERROR - JRCAgent1 detected an exception: Unable to load database connector 'com.crystaldecisions.reports.queryengine.driverImpl.DriverLoader'.
            at com.crystaldecisions.sdk.occa.report.lib.ReportSDKException.throwReportSDKException(Unknown Source)
            at com.businessobjects.reports.sdk.b.i.if(Unknown Source)
            at com.businessobjects.reports.sdk.b.i.a(Unknown Source)
            at com.businessobjects.reports.sdk.b.i.byte(Unknown Source)
            at com.businessobjects.reports.sdk.JRCCommunicationAdapter.request(Unknown Source)
            at com.crystaldecisions.proxy.remoteagent.y.a(Unknown Source)
            at com.crystaldecisions.proxy.remoteagent.r.a(Unknown Source)
            at com.crystaldecisions.sdk.occa.report.application.cf.a(Unknown Source)
            at com.crystaldecisions.sdk.occa.report.application.ReportSource.a(Unknown Source)
            at com.crystaldecisions.sdk.occa.report.application.ReportSource.getPage(Unknown Source)
            at com.crystaldecisions.sdk.occa.report.application.AdvancedReportSource.getPage(Unknown Source)
            at com.crystaldecisions.sdk.occa.report.application.NonDCPAdvancedReportSource.getPage(Unknown Source)
            at com.businessobjects.crystalreports.viewer.core.rs.b.if(Unknown Source)
            at com.businessobjects.crystalreports.viewer.core.av.a(Unknown Source)
            at com.businessobjects.crystalreports.viewer.core.av.run(Unknown Source)
            at java.lang.Thread.run(Thread.java:534)
    Unable to load database connector 'com.crystaldecisions.reports.queryengine.driverImpl.DriverLoader'.
    Also got similar error when the path and classpath was switched to Oracle 11g.
    Is there a way to tell which file that it failed to load?
    Thanks
    Kin

  • Error while applying a patch "Unable to get the database connection"

    Dear Experts,
    A patch which got successfully applied is failing Production and the error is kind of surprising to me.
    Apps version is 11.5.10.2
    db version is 10.2.0.4
    The worker log file shows
    Time when worker restarted job: Thu Nov 24 2011 22:14:52
    Start time for file is: Thu Nov 24 2011 22:14:52
    adjava -ms128m -mx256m -nojit oracle.apps.fnd.odf2.FndXdfCmp &un_apps &pw_apps &un_apps &pw_apps &jdbc_protocol &jdbc_db_addr table &fullpath_pa_patch/115
    Reading product information from file...
    Reading language and territory information from file...
    Reading language information from applUS.txt ...
      Temporarily resetting CLASSPATH to:
      "/erp/oracle/prodappl/ad/11.5.0/java/adjri.zip:/usr/java14/jre/lib/charsets.jar:/usr/java14/jre/lib/core.jar:/usr/java14/jre/lib/graphics.jar:/usr/java1
      Calling /usr/java14/bin/java ...
    Exception occured
                  Copyright (c) 2003 Oracle Corporation
                     Redwood Shores, California, USA
             XDF(XML Object Description File) Comparison Utility
                            Version 1
    NOTE: You may not use this utility for custom development
          unless you have written permission from Oracle Corporation.
    Unable to get the database connection using schema username/passwordIo exception: The Network Adapter could not establish the connection
    AD Run Java Command is complete.
                         Copyright (c) 2002 Oracle Corporation
                            Redwood Shores, California, USA
                                        AD Java
                                     Version 11.5.0
    NOTE: You may not use this utility for custom development
          unless you have written permission from Oracle Corporation.
    AD Worker error:
    The above program failed.  See the error messages listed
    above, if any, or see the log and output files for the program.
    Time when worker failed: Thu Nov 24 2011 22:14:53
    {code}
    The error says database connection error.  I am able to connect to the database using sqlplus.  I tried to restart the failed worker, but the same error is repeating. 
    Any help would be appreciated.
    Thanks
    qARS
    Edited by: user7640966 on Nov 24, 2011 9:07 AM                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

    Hussein,
    One thing which I noticed now is in the apps Tier the
    tnsnames.ora under $TNS_ADMIN
    shows entry like this:
    PROD=
            (DESCRIPTION=
                    (ADDRESS=(PROTOCOL=tcp)(HOST=<appsServerName>)(PORT=1521))
                    (ADDRESS=(PROTOCOL=tcp)(HOST=<dbServer>)(PORT=1521))
                (CONNECT_DATA=
                    (SID=PROD)
            )Actually *(ADDRESS=(PROTOCOL=tcp)(HOST=<appsIPaddress>)(PORT=1521))* this line in the tnsnames.ora is not correct. In fact the appsServerName should be replaced with dbServerName
    I deleted the tnsnames.ora and reran autoconfig but it is again recreating the same entry.
    Any clue how this can be fixed?
    Thanks
    qARS

Maybe you are looking for

  • Creating the fastest possible home network given my components

    I realize that I can't upgrade the wireless speed of my PowerMac G5 dual 2.7GHz. At least this is my understanding based on what I've read. I just ordered a new iMac, and I want to do what I can to make transfer speeds between the PowerMac and the ne

  • Can Flash Player be installed on an external hard drive?

    I have this game I am trying to install on an external hard drive that requires Flash Player and even though it is installed on my computer the game keeps popping up with Flash Player is required for this install. Would you like to install it now? Is

  • File Format Plugin - "Save As" vs "Save"....

    I have a format plugin that I would like to have triggered with File->SAVE. With only one layer in the document, Ctrl-S (Save) *does* call my plugin. So far so good. BUT if the document has more than one layer, then Ctrl-S pops up a dialog, with .PSD

  • Replicated DVD Title Playback Issues (~ 1 out of 20 disks)

    Replicated Disc Playback Issues I recently authored 4x DVD titles using DVD SP 4 in conjunction w/ Compressor 3.0.5. Media was compressed using Compressor "DVD: Best Quality 120 minutes" setting, imported and then built/formatted in DVD SP. The proje

  • Applimation Setup Reporter upgrade from Oracle eBS R11i to R12

    Hi, A prospective customer would like to carry out Applimation Setup Reporter upgrade when upgrading Oracle eBS from R11i to R12 Would appreciate if one could share their experience and things to watch out when carrying out Applimation Setup Reporter