Good example of a class using JDBC oracle?

Does anyone have a good example of this? I found sites that give me the basics...
Is it a good idea to create a class, say called MyDBConnection (obviously a better name later) and have the constructor create an instance and connect to the database? So that when functions are called to query and update the database tables it doesn't have to reconnect?

Hi,
Why do you think that you have to reconnect to the database for each query?
/Kaj

Similar Messages

  • Error when using jdbc:oracle:kprb:

    Hi folks!
    I'm having a hard time trying to solve this one, here's the situation:
    I've developed a java stored procedure and ulpoaded to the database using loadjava, which gave me no problems.
    Then i've set permissions for the procedure:
    BEGIN
    dbms_java.grant_permission(
              grantee => 'XMLADMIN',
              permission_type => 'SYS:java.io.FilePermission',
              permission_name => '/home/xmlgate/inbound/*',
              permission_action => 'read');
    dbms_java.grant_permission(
              grantee => 'XMLADMIN',
              permission_type => 'SYS:java.io.FilePermission',
              permission_name => '/home/xmlgate/outbound',
              permission_action => 'write');
    dbms_java.grant_permission(
              grantee => 'XMLADMIN',
              permission_type => 'SYS:java.lang.RuntimePermission',
              permission_name => 'setFactory',
              permission_action => '');
    dbms_java.grant_permission(
              grantee => 'XMLADMIN',
              permission_type => 'SYS:oracle.aurora.security.JServerPermission',
              permission_name => 'Debug',
              permission_action => '');
    dbms_java.grant_permission(
              grantee => 'XMLADMIN',
              permission_type => 'SYS:oracle.aurora.security.JServerPermission',
              permission_name => 'LoadClassInPackage.oracle.sql.*',
              permission_action => '');
    dbms_java.grant_permission(
              grantee => 'XMLADMIN',
              permission_type => 'SYS:oracle.aurora.security.JServerPermission',
              permission_name => 'LoadClassInPackage.oracle.jdbc.*',
              permission_action => '');
    COMMIT;
    END;
    But when i run the code inside the databse it always gives java.lang.NullPointerException.
    Here's the main class:
    package packupload;
    import java.sql.*;
    import java.util.*;
    import oracle.jdbc.driver.*;
    public class connection {
    // Return a JDBC Connection appropriately either outside or inside Oracle8i
    public static Connection getConnection() throws SQLException {
    String username = "xmladmin";
    String password = "xxxxxxxx";
    String thinConn = "jdbc:oracle:thin:@192.168.xxx.xxx:1521:www";
    String default8iConn = "jdbc:oracle:kprb:";
    Connection cn = null;
    try {
    // Register the JDBC Driver
    Driver d = new oracle.jdbc.driver.OracleDriver();
    //Connect with Native (kprb) Driver if inside Oracle8i
    if (insideOracle8i())
    cn = DriverManager.getConnection(default8iConn);
    else
    cn = DriverManager.getConnection(thinConn,username,password);
    cn.setAutoCommit(false);
    return cn;
    } catch (Exception e) { throw new SQLException("Error Loading JDBC Driver" + insideOracle8i());
    public static boolean insideOracle8i() {
    // If oracle.server.version is non-null, we're running in the database
    String ver = System.getProperty("oracle.server.version");
    return (ver != null && !ver.equals(""));
    Any help would be greatly aprecciated.
    Pedro Silva

    Hi..
    I did it but here i am wondering becoz my RFC connection SAPSLDAPI works fine
    But at transaction SLDCHECK..it throws an error like
    Calling function LCR_LIST_BUSINESS_SYSTEMS
    Retrieving data from the SLD server...
    Function call returned exception code     4
    => Check whether the SLD is running!
    Summary: Connection to SLD does not work
    => Check SLD function and configurations
    But the SLD URL pops up and opens wih put any error.in a same fashion,it happens in SXMB_ADM--> integration engine config.it says connections to SLD doesnot work
    any idea to verify
    Thanks
    Gopal

  • Connection reset using JDBC Oracle thin Driver (towards 10g DB)

    Hi we have a home-grown application and a Oracle 10g (10.2.0.1) database.
    We created a scheduled servlet that gets a JDBC connection from a persistent connected cache (an OracleDataSource object registered using OracleConnectionCacheManager). The servlet runs every 15 minutes and runs the query "SELECT SYSTIME FROM DUAL" on 10g Database as XYZ user. The datapool was created yday on web-app and all queries ran successfully for about 5 hours after which it reported a connection reset error.
    I can then conclude that we cannot keep the server session alive for the JDBC client by running frequent SQL queries.
    We didnt get any messages on the DB server side that indicate the release of the session
    Ultimately, we are struggling with reset connections from our applications that are
    using the JDBC thin oracle driver; after a couple of hours of idle
    connections, we receive the below error from the JDBC driver:
    Jul 5, 2007 10:59:53 AM oracle.jdbc.driver.DatabaseError throwSqlException
    WARNING: DatabaseError.throwSqlException(e): Unable to find ORA number from
    exception Jul 5, 2007 10:59:53 AM oracle.jdbc.driver.DatabaseError
    findMessage
    WARNING: DatabaseError.findMessage(errNum, obj): returned Io exception:
    Connection reset Jul 5, 2007 10:59:53 AM
    oracle.jdbc.driver.PhysicalConnection getWarnings
    INFO: PhysicalConnection.getWarnings()
    Any suggestions please ?
    Vk

    The code itself is fine; the problem is with one of:
    1) the connection URL
    2) intermediate networking
    3) the database itself
    1) your connection URL is "jdbc:oracle:thin:@127.0.0.1:1521:orcl"
    - is Oracle really running on the default port, 1521
    - is the installation SID really "orcl"
    2) lots of possibilities, but only a couple are likely
    - is TCP/IP configured and running on your host
    - is there a persoanl firewall rpduct running? perhaps it's blocking the connection
    3) Is Oracle running?
    Is the listener running?

  • ORA-00601 Error using JDBC, Oracle 8i on Linux

    Hello,
    Spatial is considering using Oracle as its database platform. I was assigned
    the task of benchmarking the two platforms. So, I downloaded the latest copy
    of Oracle for Linux, version 8.1.6.1.0 ( 8i Enterprise Edition Release 2 ).
    I'm using RedHat 6.2, with a 2.2.14-5.0smp kernel. I ran the installer, set
    up the databases, and everything seemed to be running quite nicely. I copied
    a table and its data from mysql to Oracle, and wrote a java program to
    benchmark the two. This java program takes command line arguments, the first
    one being the connection URL, the second being the number of threads to
    start, the third being the number of operations to complete for each thread.
    So, if you pass it connection 35 35, it will open 35 threads, and each
    thread will then execute 35 selects, inserts, and updates. These are
    hard-coded queries, but they mimic the functionality currently in
    production.
    Oracle bombs on the update. I turned tracing on, and tried it again, with
    the same result. Here's an excerpt from one of the trace files:
    *** SESSION ID:(4.1) 2000-06-21 16:36:48.937
    kvotenlg: epc_collect failed. EPC error: -1073751468.
    CDF: /u01/app/oracle/product/8.1.6/otrace/admin/cdf/styorap0
    FDF: /u01/app/oracle/product/8.1.6/otrace/admin/fdf/oracled.fdf
    kvotenlg: epc_collect failed. ctx:368.
    I was not able to find any information regarding this error. However, this
    message ( or one very similar ) appeared in every trace file. I get the
    following at the end of the pmon_xxxx.trc file:
    Load Indicator not supported by OS !
    *** 2000-06-21 17:42:19.122
    error 601 detected in background process
    And, the following in the alert_sid.log file:
    Wed Jun 21 17:42:19 2000
    PMON: terminating instance due to error 601
    Instance terminated by PMON, pid = 3797
    I made the assumption that this error was actually ORA-00601, and took a
    peek on the internet for relavent information. The canned error message is
    "PMON process runs into lock conflict trying to recovery processes". I found
    someone who had a similar problem, who suggested setting mts_max_dispatchers
    in the initsid.ora file to 1. However, this did not work.
    Basically, when Oracle crashes, the java program is trying to update one
    column in 1225 rows, 35 times, for 35 threads. The java exception is below.
    java.sql.SQLException: No more data to read from socket
    at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java)
    at oracle.jdbc.dbaccess.DBError.check_error(DBError.java)
    at oracle.jdbc.ttc7.MAREngine.unmarshalUB1(MAREngine.java)
    at oracle.jdbc.ttc7.MAREngine.unmarshalSB1(MAREngine.java)
    at oracle.jdbc.ttc7.Oall7.receive(Oall7.java)
    at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java)
    at
    oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(TTC7Protocol.java)
    at
    oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.java)
    at
    oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStatement.java)
    at
    oracle.jdbc.driver.OracleStatement.doExecuteWithBatch(OracleStatement.java)
    at
    oracle.jdbc.driver.OracleStatement.doExecute(OracleStatement.java)
    at
    oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java
    at
    oracle.jdbc.driver.OracleStatement.executeUpdate(OracleStatement.java)
    at ned.util.database.DBHammerThread.run(DBHammerThread.java:78)
    Has anyone seen this kind of behavior before? Is this merely a
    misconfiguration on my part? Help! :)
    -ned

    Sorry for the long delay in reply. I was using the thin client driver. However, when I switched to the oci8 driver, not only did I observe a 300% increase in speed, but this bizarre occurrence disappeared. I did find one issue with the oci8 driver, as follows.
    In this thread program, if I created a connection in the main program before any of the threads were instantiated, and when the first thread attempted to create a connection, it would produce a segmentation fault. This behavior was very easy to replicate, and it did not matter whether or not I close the original connection. This problem was circumvented by moving the code in the "main" program to create its connection after the child threads had created theirs.

  • DAO class using JDBC

    We have a data access class that helps our EJBs retrieve small amounts of
    data from tables which we feel did not need to be modeled as entities. Is
    there a way for this class to independently retrieve a JNDI name using
    something lick a resource reference in the deployment descriptor in order to
    locate a JDBC data source? Does this need to be retrieved by one of our
    J2EE components and then passed to this class upon initialization? I
    welcome any suggestions.
    Thanks,
    Anthony A.

    Hi Anthony,
    You could pass parameters like JNDI names of DataSources
    to your EJB using <env-entry> tags of ejb-jar, for instance
    <env-entry>
    <env-entry-name>dsJNDIName</env-entry-name>
    <env-entry-type>java.lang.String</env-entry-type>
    <env-entry-value>MyDataSource</env-entry-value>
    </env-entry>
    Regards,
    Slava Imeshev
    "Anthony A." <[email protected]> wrote in message
    news:3c3c5ad0$[email protected]..
    We have a data access class that helps our EJBs retrieve small amounts of
    data from tables which we feel did not need to be modeled as entities. Is
    there a way for this class to independently retrieve a JNDI name using
    something lick a resource reference in the deployment descriptor in orderto
    locate a JDBC data source? Does this need to be retrieved by one of our
    J2EE components and then passed to this class upon initialization? I
    welcome any suggestions.
    Thanks,
    Anthony A.

  • Issue encountered when Login as sysdba role using Thin Oracle JDBC Driver

    Hello all,
    we are now considering to use Thin oracle JDBC driver to create database in our project, but we met one issue when we tried to connect to oracle as sysdba role using Thin driver, and it throws java.sql.SQLException: Io Exception: SO Exception was generated, I have found some tips on oracle jdbc website and it says :
    How do I connect as SYSDBA or SYSOPER?
    The only way to do this is to use the Properties object when connecting, rather than specifying the username and password as strings. Put the username into the "user" property, and the password into the "password" property. Then, put the mode into the "internal_logon" property. Something like the following:
    Properties props = new Properties();
    props.put("user", "scott");
    props.put("password", "tiger");
    props.put("internal_logon", "sysoper");
    Connection conn = DriverManager.getConnection (url, props);
    When connecting as SYSDBA or SYSOPER using the Thin driver, the RDBMS must be configured to use a password file. See "Creating and Maintaining a Password File" in the "Oracle Database Administrator's Guide".
    So, i did execute orapwd command to create a password file and also set remote_login_passwordfile=execlusive in my initxxx.ora initial parameter file, however, when i tried to connect, it failed.
    private static void createEmsdbDatabase(){
    String url = "jdbc:oracle:thin:@localhost:1521:";
    StringBuffer sqlStatement = new StringBuffer();
    sqlStatement.append("create database xxx");
    sqlStatement.append("maxdatafiles 254 ");
    sqlStatement.append("maxinstances 8 ");
    sqlStatement.append("maxlogfiles 32 ");
    sqlStatement.append("character set UTF8 ");
    sqlStatement.append("national character set UTF8 ");
    sqlStatement.append("DATAFILE 'c:\\oracle\\xxx\\system01.dbf' SIZE 18M REUSE ");
    sqlStatement.append("logfile 'c:\\oracle\\xxx\\redo01.log' SIZE 2M REUSE, ");
    sqlStatement.append("'c:\\oracle\\xxx\\redo02.log' SIZE 2M REUSE, ");
    sqlStatement.append("'c:\\oracle\\xxx\\redo03.log' SIZE 2M REUSE ");
    try {
    DriverManager.registerDriver(new OracleDriver());
    Properties props = new Properties();
    props.put("user", "sys");
    props.put("password", "password");
    props.put("database","xxx");
    props.put("internal_logon", "sysdba");
    Connection conn = DriverManager.getConnection(url, props);
    Statement statement = conn.createStatement();
    statement.executeUpdate(sqlStatement.toString());
    statement.close();
    conn.close();
    } catch (SQLException e) {
    e.printStackTrace();
    But what made me puzzled a lot is if i use OCI driver, it did work great, why??? guys, anybody knows, please give me some tips, thanks in advance.
    regards,
    Kaixuan @ Shanghai

    clarify my question in detail:
    Step 1 : create password file using orapwd command
    Step 2 : create database instance using oradim command
    Step 3 : login using sys as sysdba to startup database, e.g startup nomount pfile='...\initxxx.ora'
    Step 4 : create database.
    java code showing below:
    private static void createEmsdbDatabase(){
    String url = "jdbc:oracle:thin:@localhost:1521:";
    StringBuffer sqlStatement = new StringBuffer();
    sqlStatement.append("create database xxx ");
    sqlStatement.append("maxdatafiles 254 ");
    sqlStatement.append("maxinstances 8 ");
    sqlStatement.append("maxlogfiles 32 ");
    sqlStatement.append("character set UTF8 ");
    sqlStatement.append("national character set UTF8 ");
    sqlStatement.append("DATAFILE 'c:\\oracle\\xxx\\system01.dbf' SIZE 18M REUSE ");
    sqlStatement.append("logfile 'c:\\oracle\\xxx\\redo01.log' SIZE 2M REUSE, ");
    sqlStatement.append("'c:\\oracle\\xxx\\redo02.log' SIZE 2M REUSE, ");
    sqlStatement.append("'c:\\oracle\\xxx\\redo03.log' SIZE 2M REUSE ");
    try {
    DriverManager.registerDriver(new OracleDriver());
    Properties props = new Properties();
    props.put("user", "sys");
    props.put("password", "password");
    props.put("database","xxx");
    props.put("internal_logon", "sysdba");
    Connection conn = DriverManager.getConnection(url, props);
    Statement statement = conn.createStatement();
    statement.executeUpdate(sqlStatement.toString());
    statement.close();
    conn.close();
    } catch (SQLException e) {
    e.printStackTrace();
    issue was met here, when i tried to login as sysdba using sys, and in my java code, i use Thin driver, it then thrus exception, but when OCI driver is used, it works great, i don't know why.
    that is, when i use "jdbc:oracle:oci8:@" as database URL and then properties.put("database","xxx"), it works great. but, when i use "jdbc:oracle:thin:@localhost:1521:" as database URL and then properties.put("database","xxx"), it failed. hopefully, i have clarified my question clearly. thanks.

  • Jdbc:oracle:thin:@ service name too long

    I am going to use jdbc:oracle:thin:@ as my connection.
    but my service name is too long....
    is that any ways to include the long service name?
    Thanks!

    user652882,
    Pardon me for asking, but how do you know your service name is too long?
    Good Luck,
    Avi.

  • Significance of jdbc:oracle:oci:/@

    what happens if we use "jdbc:oracle:oci:/@" to get conneted to oracle

    what happens if we use "jdbc:oracle:oci:/@" to get
    conneted to oracleYou will be using the Oracle OCI driver with that connection URL which is a type 2 driver. The driver requires a client installation on the machine it is executing (since it uses some native libraries).

  • Why folks afraid to use jdbc with oracle

    I use:
    1) select * from russian_name;
    2) native2toascii
    3) javac
    4) java
    Java.langArrayIndexOutOfBoundException
    at oracle.jdbc.dbaccess.DBConversion.ut8BytesToChar
    In the case of non existent table name it throw:
    SqlException - table does not exist - just right
    In win, unix, linux - everything with different versions.
    But sometimes it return many recods looks like - "KG UYGUYBG (null) (null) iloirdoidfogidf oidro oireio ddfoidfoid foi9eri o9er (null) (null)"...

    Hi,
    I'm new to using JDBC. I have found some really good
    sources online that have good info on how to get
    started and all. However, I do have a question.
    I'm trying to access an Oracle store with JDBC.
    However, in my code, certain classes and such cannot
    be resolved; i.e. I am missing an import or two. So,
    what do I need to set on my classpath, if that is
    necessary (I have JRE 1.5.0_06, which includes JDBC,
    right?), and what files do I need to import?Includes all the java.sql interfaces, but not the Oracle implementation. You need to download that from Oracle:
    http://www.oracle.com/technology/software/tech/java/sqlj_jdbc/index.html
    Put that ojdbc14.jar in your project's CLASSPATH. You do not need to import any Oracle-specific classes.
    Let me give a quick example. When I type this:
    Connection connection = null;Connection cannot be resolved. Sounds like you need to re-read the JDBC tutorial.
    So my question is,
    what must I import to my Java class in order to use
    this effectively?You don't need to import, but you do need to load the Oracle JDBC driver class and then get a Connection from the DriverManager, just as all the tutorials show you.
    %

  • How to specify JDBC Oracle url using deployment tool - Entity Bean

    Hello I'am new to EJB.
    When creating a entity bean-managed persistence and you need to specify the jdbc url with user name
    and password to establish a connection object, how does one specify that in the deployment
    tool?
    Heres an example of what has in the J2EE tutorial has in AccountEJB to get an connection object
    private String dbName = "java:comp/env/jdbc/AccountDB";
    private void makeConnection() throws NamingException, SQLException {
    InitialContext ic = new InitialContext();
    DataSource ds = (DataSource) ic.lookup(dbName);
    con = ds.getConnection();
    Now if my oracle jdbc url is to be jdbc:oracle:thin:@Abe:1521:dev
    ie My host is Abe, port number 1521 and database name of dev and username/password will be system/manager.
    what would my dbName be at the top?
    Would my JNDI lookup of a DataSource resource "java:comp/env/jdbc/AccountDB" become "java:comp/env/jdbc/dev" for starters?
    In the Resource Factories Reference Code I've add a reference of
    Coded Name: jdbc/dev
    Type: javax.sql.DataSource
    Authentication: Container
    and down the bottom of the I've put JNDI Name: MyAccount
    according to the AccountClient code of:
    Context initial = new InitialContext();
    Object objref = initial.lookup("MyAccount");
    and put User Name of "system" and Password of "manager"
    I'am sure in the source code I have to put
    Class.forName("oracle.jdbc.driver.OracleDriver")
    else you would get that no sutitable driver error, maybe you don't have to if ejb server is smart enough?
    What I'am confuse about is where to specify the jdbc url of "jdbc:oracle:thin:@Abe:1521:dev" ??
    Know it won't work because of this vital part. Do you have to put that somewhere else in the deployment tool or properties file, or some other tool??
    Please help
    Thanks
    Abraham Khalil

    When running the client after successful deployment with jdbc, I'am getting
    javax.naming.CommunicationException: java.rmi.MarshalException: CORBA MARSHAL 1398079699 Maybe; nested exception is:
    org.omg.CORBA.MARSHAL: Unable to read value from underlying bridge : minor code: 1398079699 completed: Maybe
    org.omg.CORBA.MARSHAL: Unable to read value from underlying bridge : minor code: 1398079699 completed: Maybe
    at com.sun.corba.ee.internal.iiop.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:923)
    at com.sun.corba.ee.internal.iiop.CDRInputStream.read_value(CDRInputStream.java:281)
    at com.sun.corba.ee.internal.corba.TCUtility.unmarshalIn(TCUtility.java:274)
    at com.sun.corba.ee.internal.corba.AnyImpl.read_value(AnyImpl.java:554)
    at com.sun.corba.ee.internal.iiop.CDRInputStream_1_0.read_any(CDRInputStream_1_0.java:605)
    at com.sun.corba.ee.internal.iiop.CDRInputStream.read_any(CDRInputStream.java:252)
    at com.sun.corba.ee.internal.javax.rmi.CORBA.Util.readAny(Util.java:203)
    at javax.rmi.CORBA.Util.readAny(Unknown Source)
    at org.omg.stub.com.sun.enterprise.naming._SerialContextProvider_Stub.lookup(Unknown Source)
    at com.sun.enterprise.naming.SerialContext.lookup(SerialContext.java:133)
    at javax.naming.InitialContext.lookup(Unknown Source)
    at AccountClient.main(AccountClient.java:21)
    at com.sun.enterprise.naming.SerialContext.lookup(SerialContext.java:151)
    at javax.naming.InitialContext.lookup(Unknown Source)
    at AccountClient.main(AccountClient.java:21)
    One thing I don't like about EJB is that everything is transparent which is good! But its much
    harder to debug! :( Tried to see if I can figure it out. Hope someone has seen this problem before?

  • How to access oracle cursors using jdbc (expecting ur earliest reply)

    Hi All,
    can anyone help me out by giving me an idea or sample code in accessing the cursors that are defined in the oracle... i have to access those cursors using java... Thanks in advance for your reply and time....
    Ragu

    I have tried to follow the example from the URL link you provided.
    I'm using :
    - Oracle 8.1.6/8.1.7
    - JDK 1.3.1
    I've created:
    create or replace package types
    as
    type cursorType is ref cursor;
    end;
    create or replace function sp_ListEmp return types.cursortype
    as
    l_cursor types.cursorType;
    begin
    open l_cursor for
    select ename, empno
    from emp
    order by ename;
    return l_cursor;
    end;
    Then I have on my code the following:
    import java.sql.*;
    import oracle.jdbc.driver.*;
    String conStatus = "":
    String driver_class = "oracle.jdbc.driver.OracleDriver";
    String connect_string = "jdbc:oracle:thin:@slackdog:1521:oracle8";
    String query = "begin :1 := sp_listEmp; end;";
    Connection conn;
    Class.forName(driver_class);
    conn = DriverManager.getConnection(connect_string, "scott", "tiger");
    try{
    conStatus = "before prepareCall, ";
    CallableStatement cstmt = conn.prepareCall(query);
    conStatus = conStatus + "before Register out, ";
    cstmt.registerOutParameter(1,OracleTypes.CURSOR);
    conStatus = conStatus + "before execute, ";
    cstmt.execute();
    conStatus = conStatus + "before getObject, ";
    ResultSet rset = (ResultSet)cstmt.getObject(1);
    while (rset.next ())
    System.out.println( rset.getString (1) );
    cstmt.close();
    } catch (Exception e) {
    conStatus = conStatus + e;
    System.out.println(conStatus);
    What happens is that I am able to successfully compile the code. But when I run the code, it displays:
    "before prepareCall, before Register out, SQLException: incompatible types = -10."
    What does that mean? Pls point out to me what I did wrong in my code.
    Thanks.

  • Help  connection to oracle db using jdbc

    Hi
    I am trying to connect to a oracle database. I am using Oracle 9 and jsdk 1.4.2. but i keep getting the following error and i dont know what iam doing wrong.
    I have put in my classpath where the orcle drivers are. I have also tried puting the drivers in j2sdk/jre/lib folder (files copied nls_charset12.zip,classes12.zip,ojdbc14.jar). My code compiles and runs but the error i get is
    "java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver"
    SAMPLE of my code:
    Class.forName("oracle.jdbc.driver.OracleDriver");
    String dataSource = "jdbc:oracle:thin:@devflgdb";
    Connection con = DriverManager.getConnection(dataSource,"babu_s2","babu_s2");

    I am working on the same; here is my servlet code, hope it helps
    private static void loadJDBCDriver ()
    System.out.println ("Loading Database driver...");
    try {
         DriverManager.registerDriver ( new oracle.jdbc.driver.OracleDriver());
    catch (Exception e) {}
    try {
    DriverManager.registerDriver ( new sun.jdbc.odbc.JdbcOdbcDriver() );
    catch (Exception e2) {
    System.err.println ("loadJDBCDriver: " + e2.toString());
    return;
    System.out.println ("Database driver loaded...");
    private static Connection getConnected () {
    System.out.println ("Establishing database connection...");
    String jdbc_url;
    Connection conn;
    try {
    jdbc_url = "jdbc:oracle:thin:@localhost:1521:oracle";
    conn = DriverManager.getConnection (jdbc_url, "scott", "tiger");
    catch (Exception e) {
    try {
    jdbc_url = "jdbc:odbc:BookNook";
    conn = DriverManager.getConnection (jdbc_url);
    catch (SQLException e2) {
    System.err.println ("getConnected: " + e2.toString() );
    return null;
    System.out.println ("Database connection established ...");
    return conn;

  • What XA JDBC driver should I use with Oracle 8i 8.1.6

    I need to use an XA JDBC driver for Oracle 8i 8.1.6. I am using the driver in
    a ConnectionPool in a TxDataSource for use by some entity beans using EJB 2.0.
    I'm running WebLogic Server 6.0 sp2, EJB 2.0, Java 2 SDK 1.3.1 Server VM, Solaris
    2.7, and Oracle 8i 8.1.6.
    I know of three different Oracle XA drivers: WebLogic jDriver for Oracle XA, Oracle
    OCI type 2 driver XA, and Oracle Thin tyoe 2 XA. Are there any other drivers
    that I can use for Oracle 8.1.6? Which driver and which version should I use?
    For example, can I use the Oracle 8.1.7 JDBC drivers with the Oracle 8.1.6 server,
    or would the Oracle 9i drivers work with the Oracle 8i server? Which drivers
    are faster, and which support more features? I assume that I should not use the
    type 4 driver since I am not using an applet, but I don't know if there are bugs
    in the OCI C library for Solaris or in the JDBC drivers that use it that prevent
    XA from woking. Which version of the Oracle C OCI library should I use if I use
    a type 2 driver?
    Thanks,
    Ross Goldberg

    Hi,
    I think you can't use the 8.1.6 thin driver for XA, you would have to
    use the OCI driver or 2PC-enable your datasource. AFAIK this has been
    changed for 8.1.7
    Check http://e-docs.bea.com/wls/docs61/////jta/thirdpartytx.html.
    Daniel
    -----Original Message-----
    From: Gene Chuang [mailto:[email protected]]
    Posted At: Thursday, August 30, 2001 2:04 AM
    Posted To: jdbc
    Conversation: What XA JDBC driver should I use with Oracle 8i 8.1.6
    Subject: Re: What XA JDBC driver should I use with Oracle 8i 8.1.6
    I've asked this question before. This is the reply from Joe
    Weinstein:
    For reliability and JDBC 2.0 compliance, I recommend the
    Oracle thin driver.
    If not that driver, you should verify that a type-2 driver
    actually does
    deliver better performance, but then I would not have a
    strong preference
    between their type-2 and ours. Theirs may be faster, and JDBC
    2.0 compliant.
    Both are succeptible to OCI bugs, some of which only they can
    fix, but we
    listen.
    Gene
    "Ross Goldberg" <[email protected]> wrote in message
    news:[email protected]...
    >
    I need to use an XA JDBC driver for Oracle 8i 8.1.6. I am using thedriver in
    a ConnectionPool in a TxDataSource for use by some entity beans usingEJB 2.0.
    I'm running WebLogic Server 6.0 sp2, EJB 2.0, Java 2 SDK 1.3.1 ServerVM, Solaris
    2.7, and Oracle 8i 8.1.6.
    I know of three different Oracle XA drivers: WebLogic jDriver forOracle XA, Oracle
    OCI type 2 driver XA, and Oracle Thin tyoe 2 XA. Are there any otherdrivers
    that I can use for Oracle 8.1.6? Which driver and which versionshould I use?
    For example, can I use the Oracle 8.1.7 JDBC drivers with the Oracle8.1.6 server,
    or would the Oracle 9i drivers work with the Oracle 8i server? Whichdrivers
    are faster, and which support more features? I assume that I shouldnot use the
    type 4 driver since I am not using an applet, but I don't know ifthere are bugs
    in the OCI C library for Solaris or in the JDBC drivers that use itthat prevent
    XA from woking. Which version of the Oracle C OCI library should Iuse if I use
    a type 2 driver?
    Thanks,
    Ross Goldberg

  • Use jdbc to connect servlet to oracle 8.1.6 database on win2k

    The code is below:
    package moreservlets;
    import java.sql.*;
    import java.io.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    /** Simple servlet used to test JDBC connection. */
    public class TitleQueries extends HttpServlet {
    public void doGet(HttpServletRequest request,
    HttpServletResponse response)
    throws ServletException, IOException {
    response.setContentType("text/html");
    PrintWriter out = response.getWriter();
    String title = "Connecting to Database";
    DriverManager.registerDriver (new
    oracle.jdbc.driver.OracleDriver());
    Connection conn = DriverManager.getConnection
    ("jdbc:oracle:thin:@pc840:1521:orcl", "scott", "tiger");
    Statement stmt = conn.createStatement();
    ResultSet rset = stmt.executeQuery
    ("select ename from emp");
    while (rset.next()) {
    String name = rset.getString("ename");
    out.println(ServletUtilities.headWithTitle(title) +
    "<body bgcolor=\"#FDF5E6\">\n" +
    "<h1 align=\"center\">" + name + "</h1>\n" +
    "</body></html>");
    CLASSPATH=.;C:\J2ee;C:\j2sdkee1.3.1\lib\cloudscape;C:\Program Files\Apache Tomcat 4.0\common\lib\servlet.jar;C:\Oracle\Ora81\orb\classes\yoj.jar;C:\Oracle\Ora81\orb\classes\share.zip
    My code cannot find the JDBC driver. Any suggestions?
    Thanks.
    I get the following errors:
    C:\J2ee\moreservlets>javac -d "C:\Program Files\Apache Tomcat 4.0\webapps\ROOT\
    EB-INF\classes" TitleQueries.java
    TitleQueries.java:19: package oracle.jdbc.driver does not exist
    oracle.jdbc.driver.OracleDriver());
    ^
    TitleQueries.java:31: cannot resolve symbol
    symbol : variable name
    location: class moreservlets.TitleQueries
    "<h1 align=\"center\">" + name + "</h1>\n" +
    ^
    2 errors

    I changed my classpath variable and my servlet
    compiles okay with the:
    "import oracle.jdbc.driver.*" statement.
    However, I still get the following error.
    Why can't it find the jdbc driver, since it finds the
    import statement?
    Apache Tomcat/4.0.3
    Error loading driver: java.lang.ClassNotFoundException: oracle.jdbc.driver.Oracl
    eDriver
    WebappClassLoader: Resource '/WEB-INF/classes/moreservlets/ServletUtilities.cl
    ass' was modified; Date is now: Tue Jul 02 09:57:26 CDT 2002 Was: Tue Jul 02 09:
    37:20 CDT 2002
    Error loading driver: java.lang.ClassNotFoundException: oracle.jdbc.driver.Oracl
    eDriver
    CLASSPATH=.;C:\J2ee;C:\j2sdkee1.3.1\lib\cloudscape\RmiJdbc;C:\Program Files\Apache Tomcat 4.0\common\lib\servlet.jar;C:\Oracle\Ora81\jdbc\lib\classes12.zip;C:\Oracle\Ora81\orb\classes\yoj.jar;C:\Program Files\Oracle\JDeveloper 3.2.3\jdbc\lib\oracle8.1.7\classes12.zip;C:\Oracle\Ora81\orb\classes\share.zip
    //code begins here
    package moreservlets;
    import java.sql.*;
    import java.io.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    import oracle.jdbc.driver.*;
    public class TitleQueries extends HttpServlet {
    public void doGet(HttpServletRequest request,
    HttpServletResponse response)
    throws ServletException, IOException {
    response.setContentType("text/html");
    PrintWriter out = response.getWriter();
    try {
    Class.forName("oracle.jdbc.driver.OracleDriver");
    Connection conn = DriverManager.getConnection
    ("jdbc:oracle:thin:@pc840:1521:orcl", "scott", "tiger");
    Statement stmt = conn.createStatement();
    ResultSet rset = stmt.executeQuery
    ("select * from emp");
    out.println(ServletUtilities.headWithTitle(title) +
    "<body bgcolor=\"#FDF5E6\">");
    while (rset.next()) {
    out.println("<h1 align=\"center\">"
    + rset.getString("ename") + "</h1>\n");
    out.println("</body></html>");
    catch(ClassNotFoundException cnfe) {
    System.err.println("Error loading driver: " + cnfe);
    catch(SQLException sqle) {
    System.err.println("Error connecting: " + sqle);
    }

  • Using JDBC with Oracle

    I have just completed compiling and running a simple UI through a java command line interface, however part of my program is running into a problem. I have to connect to Oracle through JDBC, but the server I am not on does not have the oracle drivers. I have copied them over (in tar as distributed) but I have never had to extern any thing like this. I am running on a standard linux bash prompt and need to know what to do to actually change everything so my program can run the database connectivity.
    Simply put, is there a way to compile so the byte code never needs the .jar, and if not how about making my program see the jar which is in my root folder (not root on the server, but my user root folder)
    I hope that was enough info, if not I'll do my best to provide more.

    Hmm, maybe I'm not quite making sense.
    Let's say I want to run my program on my neighbor's machine (A) to connect to an Oracle database on my machine (B). My neighbor has Java version 1.4.2, and my machine has Java version 1.4.2 also. My oracle database is running Oracle 8i (8.1.6.0.0) my machine. Let us also assume that my neighbor, while desiring a program to connect to my database, wants everything to be included in a single directory and no global system settings to be permananty changed. He doesn't mind if I change setting for the current session if need be.
    Now, I make the Java program on my machine and it works just fine. Since I have Oracle installed on my machine the command "java dbConnect" has no problem running. Now I take the program over to my neighbor's computer with the following files in the current program directory (not the java installation directory):
    dbConnect
    ojdbc14.jar
    This I hope would allow me to run the program since I thought (in error) that the program would probably be able to find the ojdbc14.jar since it is in the directory of the dbConnect program. Unfortunately it runs correctly, then fails to load the oracle driver.
    So now here is my real question. I want to be able to have my neighbor run my application, so what do I do to run the application dbConnect.java on their computer?
    I have tried the following, however it gives an exception in the thread when I run this
    javac dbConnect.java
    java -classpath ./ojdbc14.jar dbConnect
    Exception in thread "main" java.lang.NoClassDefFoundError: dbConnect.The program right now is simply a test to see if I can load the driver and make a connection, and it works on my system, so there should be no problems:
    import java.io.*;
    import java.sql.*;
    public class dbConnect
        //Create an input stream for reading data from the user
        private static BufferedReader stdin =
            new BufferedReader(new InputStreamReader(System.in));
        public static void main(String[] args)
            try{
                //>Load the Oracle JDBC Drivers
                try
                    Class.forName("oracle.jdbc.driver.OracleDriver");
                catch(Exception e)
                    System.out.println("Failed to load Oracle driver.");
                    System.exit(0);
                //>Get username, password, and url for Oracle DB connection.
                String user, pass, url;
                System.out.println("Please enter your username: ");
                user = stdin.readLine();
                System.out.println("Please enter your password: ");
                pass = stdin.readLine();
                url = "jdbc:oracle:thin:@somewhere:1521:csl";
                Connection conn = null;
                Statement stmt = null;
                //>Successfully connect to the Oracle database using JDBC and CSLab account.
                try
                    conn = DriverManager.getConnection(url, user, pass);
                    System.out.println("Connection made!");
                catch(Exception e)
                    System.out.println("Incorrect login information.");
                    System.exit(0);
            }catch(Exception e){
                System.out.println("Exception in main program.  Terminating process.");
    }

Maybe you are looking for

  • Do I need compressor installed on both computers to work a cluster?

    I have the new mac mini running lion and a mac pro running snow leopard. Compressor 4 is only installed on the mac pro. when I check 'this computer plus' button before submitting a batch the whole thing stalls. Would it work if compressor was install

  • Satellite Pro M10 will not boot again and comes up with the error message

    My Toshiba Satellite Pro M10 notebook will not boot again and comes up with the error message "load error" when I push the power button. The problem arised after installation of "symantec system works" and trying to restart windows XP professional to

  • Passing Value Dynamically in a string

    hi All , i have a requirement in which i have to pass value of a parameter dynamically to a string e.g. param = 10. data : txt type string . txt = 'value of param'. should give a result value of 10. here i need to have the value 10 of param in the st

  • I cut the whole video and then saved. Is there a way to restore?

    Hi all I'm using quicktime pro When I open the file it shows and plays as an audio only. The file is still there.. the file size is 1/4 gig. How do I tell the program I want to "uncut" the file.

  • FTPS on cisco asa

    I have an ASA 5505 code version 9.0(3) and FTPS seems to be working with some but not others. The ones who can transfer files have full ip completely, but the ones who can't are able to authenticate but cannot transfer files. This led me to believe t